DeepInteractionを再現

1. 設置環境

より重要なバージョンのいくつかを次に示します。

グラフィックカード: 4090&2080ti

CUDA=11.1

Python=3.8

トーチ=1.9.0+cu111

トーチビジョン=0.10.0+cu111

spconv-cu111=2.1.25

numpy=1.21.0

数値=0.48.0

mmdet=2.25.0

mmdet3d=0.17.1

mmcv-full=1.3.18

インストール プロセスは基本的に MMDET3D に従いますが、いくつかのインストール パッケージのバージョンに注意してください。

Ubuntu22.04 は mmdet 2.25.1+ mmdet3d 1.0.0rc6_Holding Qianbaigai を空中にインストールします。mmdetと mmdet3d のインストールプロセスをお茶を飲む blog-CSDN ブログに記録するだけではどうでしょうか。https://blog.csdn.net/weixin_44013732/article/details/130675061


2. 環境構築

 1.mmdet3d環境の設定

(1) 仮想環境を作成します (パッケージをインストールする必要はありません。Anconda が自動的に Python をインストールします)。

conda create -n deepinteraction python=3.8

(2) 環境を活性化する

 conda はディープインタラクションをアクティブ化します 

 (3) トーチとトーチビジョンの取り付け

インストール手順: ローカル インストールをお勧めします。ローカル インストールしないと、pip が誤って CPU バージョンをインストールしてしまいます。

①ファイルをダウンロードする

リンク: 

Baidu Cloud : torch および torchvision インストール パッケージが含まれている次のフォルダーを見つけます

②設置

pip コマンドを使用してローカル インストールを実装します。

pip インストール torch-1.9.0+cu111-cp38-cp38-linux_x86_64.whl torchvision-0.10.0+cu111-cp38-cp38-linux_x86_64.whl

③テスト

まず Python と入力して環境に入り、次のコマンドを入力します。

import torch    # 如正常则静默
torch.__version__ #查看torch版本
import torchvision
torchvision.__version__ #查看torchvision版本
torch.cuda.is_available() #正常的话返回“True”
a = torch.Tensor([1.])    # 如正常则静默
a.cuda()    # 如正常则返回"tensor([ 1.], device='cuda:0')"
from torch.backends import cudnn # 如正常则静默
cudnn.is_acceptable(a.cuda())    # 如正常则返回 "True"

ディスプレイは正常に動作します。

  ④公式ダウンロードサイト

Baidu Cloud を使用したくない場合は、次の公式ダウンロード Web サイトを参照してください。

トーチのダウンロード Web サイト: https://download.pytorch.org/whl/torch_stable.html

 トーチ 1.9.0+cu111: https://download.pytorch.org/whl/cu111/torch-1.9.0%2Bcu111-cp38-cp38-linux_x86_64.whl

トーチビジョン 0.10.0+cu111: https://download.pytorch.org/whl/cu111/torchvision-0.10.0%2Bcu111-cp38-cp38-linux_x86_64.whl 


 (4) mmcv-full 1.3.18をインストールする

①pipの取り付け

pip install mmcv-full==1.3.18 -f https://download.openmmlab.com/mmcv/dist /cu111/torch1.9.0/index.html

 ここで pip install mmcv-full コマンドを使用してインストールすることはできず、後で独自の cuda 情報と torch 情報を追加する必要があります。

 (5) mmsegmentationのインストール

インストール手順: mmdet3d のみをインストールする必要があります。

①pipの取り付け

pip install  mmsegmentation==0.14.1

②現地設置

/mmsegmentation-master フォルダーに移動し、次を実行します。

pip install -r 要件.txt

Python setup.py 開発

 (6) mmdetのインストール

インストール手順: mmdet3d の代わりに mmdet を実行する場合は、後でデータを実行しやすくするためにローカルにインストールすることをお勧めします。

①pipでmmdetをインストール

 pip インストール mmdet==2.14.0

②mmdetをローカルにインストールする

 /mmdetection フォルダーに移動して、次を実行します。

pip install -r 要件.txt

Python setup.py 開発

 (7) mmdet3dをインストールする

①公式のインストール手順

git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v0.17.1
python setup.py install

②現地設置

/mmdetection3d-master フォルダーに入ります

埋め込む:

pip install -r の要件

Python setup.py 開発

(8) detectron2のインストール

detectron2 の Dynamic Conv モジュールが使用され、手順は次のとおりです。

python -m pip install detectron2 -f \
  https://dl.fbaipublicfiles.com/detectron2/wheels/cu111/torch1.9/index.html

2. データセットをダウンロードして構成する

 公式サイトでの方法:

データセットの準備 — MMDetection3D 1.2.0 ドキュメントicon-default.png?t=N7T8https://mmdetection3d.readthedocs.io/en/latest/user_guides/dataset_prepare.htmlデータセットをフォルダーに解凍し、次の手順を実行します。

python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes

変換された結果は次のとおりです。

 

3. トレーニング前のウェイト

事前トレーニングされた重みを pretrained/ フォルダーにコピーします。

 3. トレーニングとテスト

# 8 つの GPU でトレーニング
tools/dist_train.sh project/configs/nuscenes/Fusion_0075_refactor.py 8
# 8 つの GPU でテスト
tools/dist_test.sh project/configs/nuscenes/Fusion_0075_refactor.py ${CHECKPOINT_FILE} 8 --eval=bbox

必要に応じて GPU の数を変更します。

4. 問題に遭遇する

1、ModuleNotFoundError: 'numba.errors' という名前のモジュールがありません

 解決策: numba のバージョンが高すぎるため、0.48.0 にインストールする必要があります。

pip インストール番号==0.48.0


2、RuntimeError: アドレスはすでに使用されています xxx

問題の説明:ポートが占有されています

解決:

ファイル /home/xd/xyy/DeepInteraction-main/tools/dist_train.sh 内


ターミナルコマンドのポート番号を指定します。ターミナルコマンド実行後に --port 12345 を追加します。ポート番号は任意に指定でき、5 桁だけで十分です。

参考: ソリューション: Alchemist Training Program Pytorch+DeepLearning さまざまなエラー レポートと罠と落とし穴と回避の記録 (4)_store = tcpstore(master_addr, master_port, world_s_a 中カップのコーラと氷についてのブログ - CSDN ブログ


 3、KeyError: 'SwinTransformer はすでにモデルに登録されています'

解決策: /DeepInteraction-main/projects/mmdet3d_plugin/__init__.py の .swin_transformer import SwinTransformer をコメントアウトするだけです。

 参考: 

FastBEV が Ubuntu_A 混乱した昆虫のブログを再現 - CSDN ブログ


  4、numba.errorsからNumbaPerformanceWarningをインポート 

解決策:必要に応じて numba==1.48 をインストールします。 


5、AttributeError: 'ConfigDict' オブジェクトには属性 'device' がありません

解決:

tools/train.pymeta['config'] = cfg.pretty_textの下に次のコードを追加します。

cfg.device='cuda'

 参考:

AttributeError: 'ConfigDict' オブジェクトには属性 'device' がありません_attributeerror: 'config' オブジェクトには属性 '_Tangchao Lier のブログ-CSDN ブログ

6、 mmcv/_ext.cpython-38-x86_64-linux-gnu.so: 未定義シンボル: _Z27points_in_boxes_cpu_forwardN2at6TensorES0_S0_

解決:

pip install mmcv-full==1.3.18 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
 

ここで pip install mmcv-full コマンドを使用してインストールすることはできず、後で独自の cuda 情報と torch 情報を追加する必要があります。 

おすすめ

転載: blog.csdn.net/weixin_44013732/article/details/132626064