Swin開発優先パラメータの設定(CBnetV 2インストール)


  • CUDA 11.0.2を取り付ける
    CUDAバージョンは、インストールするライブラリの互換性に応じて選択できます.(pytorch prebuildバージョンをホームページの11.1に設定すると便利です.この投稿では11.0に設定します.)
  • CUDAダウンロード(最も便利なインストールは.runファイル)
  • $ wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run

  • グラフィックドライバのアンインストール
    $ sudo sh cuda_11.0.2_450.51.05_linux.run

  • CUDA環境変数の設定
    $ sudo gedit ~/.bashrc
  • export PATH=/usr/local/cuda-11.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
    export CUDA_HOME=/usr/local/cuda-11.0
    export FORCE_CUDA="1"
    $ source ~/.bashrc
    $ sudo reboot
  • グラフィックスカードドライバが初期化されているか、起動できません。
  • 2.CUDN 8の取り付け


  • Cudnnをインストールした後
    $ tar xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
    $ cd cuda
    $ sudo cp include/cudnn* /usr/local/cuda-11.0/include
    $ sudo cp lib64/libcudnn* /usr/local/cuda-11.0/lib64/
    $ sudo chmod a+r /usr/local/cuda-11.0/lib64/libcudnn*
    $ cat/usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

  • cudnn 8バージョンではcudnn versionhで確認!
    インストールされたcudnnバージョンが出力されている場合は、正常に設定されていることを確認し、メッセージが出力されていない場合は、環境変数/パスなどを確認します.

  • 3.Swin-transformer-object-Dection開発の優先パラメータを設定する


  • CBNetV 2コードの取得
    $ https://github.com/VDIGPKU/CBNetV2.git
    $ mv CBNetV2/mmdetection_swin

  • cudaバージョンに準拠した依存パッケージのインストール
    $ pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio==0.7.0 -f https://download.pytorch.org/whl/cu110/torch_stable.html

  • mmcv-fullインストール(手動でインストールする必要があります)
    $ pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html

  • mmdetのインストール
    $ python setup.py develop

  • mmdetectionswin/mmdet/_init.変更
  • 19    mmcv_maximum_version = '1.5.0' # '1.4.0'
  • wanddbのインストール
    $ pip install wandb
  • 4.デモコードの実行

  • カスケードmask rcnn swin baseデモ
    $ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pth
  • プレゼンテーションの実行中にエラー(mmcv最大バージョン(1.4.0)を超える)が発生した場合は、swinroot/mmtde/init.pyファイルの20行のmmcv maximal versionを1.5.0に変更できます.
    (site-packagesのmmdetバージョンがswinローカルmmdetバージョンと異なるためエラー)
  • カスケードmask rcnn swin baseプレゼンテーション結果
  • 5.Apexのインストール


  • Apexがインストールされていない場合、プレゼンテーションとトレーニングでは、Apexがインストールされていないことを出力し続けます.
    $ cd ~/workspace/
    $ git clone https://github.com/NVIDIA/apex
    $ cd apex
    $ sudo apt-get install build-essential
    $ pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext"--global-option="--cuda_ext"./
    $ cd ~/workspace/Swin-Transformer-Object-Detection/
    $ python
    $ >>> import apex
    $ >>> quit()

  • apexの動作を確認します(警告がない場合はapexをインストールします)
    $ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pthntu&target_version=1804&target_type=runfilelocal)
    CUDAバージョンは、インストールするライブラリの互換性に応じて選択できます.(pytorch prebuildバージョンをホームページの11.1に設定すると便利です.この投稿では11.0に設定します.)
  • CUDAダウンロード(最も便利なインストールは.runファイル)
  • $ wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run

  • グラフィックドライバのアンインストール
    $ sudo sh cuda_11.0.2_450.51.05_linux.run

  • CUDA環境変数の設定
    $ sudo gedit ~/.bashrc
  • export PATH=/usr/local/cuda-11.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
    export CUDA_HOME=/usr/local/cuda-11.0
    export FORCE_CUDA="1"
    $ source ~/.bashrc
    $ sudo reboot
  • グラフィックスカードドライバが初期化されているか、起動できません。
  • 2.CUDN 8の取り付け


  • Cudnnをインストールした後
    $ tar xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
    $ cd cuda
    $ sudo cp include/cudnn* /usr/local/cuda-11.0/include
    $ sudo cp lib64/libcudnn* /usr/local/cuda-11.0/lib64/
    $ sudo chmod a+r /usr/local/cuda-11.0/lib64/libcudnn*
    $ cat/usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

  • cudnn 8バージョンではcudnn versionhで確認!
    インストールされたcudnnバージョンが出力されている場合は、正常に設定されていることを確認し、メッセージが出力されていない場合は、環境変数/パスなどを確認します.

  • 3.Swin-transformer-object-Dection開発の優先パラメータを設定する


  • SWIN-Object Detectionコードの取得
    $ git colon https://github.com/SwinTransformer/Swin-Transformer-Object-Detection.git

  • mmdetectionインストール
    $ pip install mmdet

  • cudaバージョンに準拠した依存パッケージのインストール
    $ pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio==0.7.0 -f https://download.pytorch.org/whl/cu110/torch_stable.html

  • mmdetとmmcv-fullのインストール(手動でインストールする必要があります)
    $ pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
    #mmdet(swin-custom)/mmcv-customオーバーライド
    #conda envのsite-packagesパスをチェック!
    $ cd ~/workspace/Swin-Transformer-Object-Detection/mmdet
    $ sudo cp -R core/~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
    $ sudo cp -R datasets/~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
    $ sudo cp -R models/~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
    $ sudo cp -R utils/~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
    $ cd ..
    $ sudo cp -R mmcv_custom/ ~/anaconda3/envs/swin/lib/python3.7/site-packages/
  • 4.デモコードの実行

  • カスケードmask rcnn swin baseデモ
    $ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pth
  • プレゼンテーションの実行中にエラー(mmcv最大バージョン(1.4.0)を超える)が発生した場合は、swinroot/mmtde/init.pyファイルの20行のmmcv maximal versionを1.5.0に変更できます.
    (site-packagesのmmdetバージョンがswinローカルmmdetバージョンと異なるためエラー)
  • カスケードmask rcnn swin baseプレゼンテーション結果
  • 5.Apexのインストール


  • Apexがインストールされていない場合、プレゼンテーションとトレーニングでは、Apexがインストールされていないことを出力し続けます.
    $ cd ~/workspace/
    $ git clone https://github.com/NVIDIA/apex
    $ cd apex
    $ sudo apt-get install build-essential
    $ pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext"--global-option="--cuda_ext"./
    $ cd ~/workspace/Swin-Transformer-Object-Detection/
    $ python
    $ >>> import apex
    $ >>> quit()

  • apexの動作を確認します(警告がない場合はapexをインストールします)
    $ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pth