second.pytorch環境構成レコード
14450 ワード
簡単に述べる
second.pytorchコードはいくつかの3 dレーザレーダ点雲の学習アルゴリズムを集積し、この方面の資料は相対的に少なく、主に3 d点雲の深さ学習アルゴリズムもこの2年で力を入れ始めた.学習資料は相対的に単一で、本文はまず自分の配置secondを記録する.pytorchのnvidia-docker環境で踏んだピットは,後期に現在の3 d-lidar点群の深さ学習アルゴリズムをそれぞれ書く.ここでも、second.を参考にすることをお勧めします.pytorchの環境構成チュートリアル.OK始めましょうpytorchの環境配置は修行の道を練りましょう.
second.pytorchコード環境構成
本稿では、nvidia-dockerミラーの下にインストールされている環境に依存します.この環境構成はgithubの下secondを直接参照することができます.pytorchのreadme.txt部分はsecond.pytorchのインストールの説明では、主にソフト・ハードウェアの不整合、コンパイルの問題に関連する問題が発生します.ここで記録し、構成が完了したnvidia-dockerミラーを保存します.本明細書を参照したくないので、直接文末に入ってnvidia-dockerミラーをダウンロードすることができます.
second.pytorch公式サイトgithubアドレス:https://github.com/traveller59/second.pytorchマイコンピュータ環境構成:GeForce RTX 2080+CUDA 10.0 + Torch 1.1.0 + Python 3.7
前提条件:NVIDIAドライバ、CUDA、docker、nvidida-dockerのインストールが事前に構成されていることを確認します.(cuda 10.1テストコンパイルspconvにいくつかの問題があり、cuda 10.0のインストールを推奨)
nvidia-dockerでの環境構成
現在インストールに成功している構成はcuda 10です.0+cudnn7.xシリーズ、親測定はcuda 10.1時だpytorch依存ライブラリspconvコンパイル時に問題が発生し、公式サイトissuesで最も多くのcmakeが発生します.device_link.oこれらの問題.cuda 10の使用を推奨する.バージョン0
Step 1:まずnvidia-docker環境でsecondコードpullを降ろす
Step 2:関連依存項目のインストール
nvidia-dockerミラーの中に入って、Anacondaをインストールすることを提案して、公式サイトに行ってlinuxをダウンロードしてミラーの中に対応します.
Anacondaのダウンロードが完了すると、dockerミラーの中で端末が直接:(車に戻るには、入力が必要ですyes)
その他の依存パッケージをインストールするには、次の手順に従います.
Step 3:spconvのコンパイル
単独でspconvを持ち出すのは、ここでコンパイルするのに少し穴があるので、避ける必要があります.
まずもちろんclone spconvのコード部分です.
spconvはダウンロードに成功しない可能性があります.cloneが失敗した場合、git clone fatal:The remote end hung up unexpectedlyと報告します.この原因はネットワークの原因による可能性があります.
git構成の最低速度と最低速度時間を設定することで解決します.
次にboostライブラリをインストールしてdockerのミラーシステムヘッダファイルディレクトリに入り、以下のコマンドを直接叩くことができます.
いやなら、boost公式サイトで圧縮パッケージをダウンロードし、解凍してspconvのヘッダファイルにヘッダファイルをコピーすればいい.
新しいバージョンのcmake>3.13.2を再びインストールし、PATHディレクトリに追加します.
このステップでは、cmakeソースをダウンロードしてコンパイルしてインストールしました.cmakeソースサイトは以下の通りです.
cmakeが正常にインストールされたかどうかを検出します.
cmakeのバージョン番号が変更されていない場合は、ソフト接続を追加する必要があります.
error/usr/bin/cake no such files...などのエラーが発生した場合
cmake-3.13.2パスのcmakeを/usr/binにコピーします.
cmakeのインストールに成功したら、cmakeのファイルパスを追加することを忘れないでください.bashrcの中:
pytorch>1.0+がインストールされていることを確認します.インストールされていない場合は、次のコマンドを実行します.
ここで、sponcvをコンパイルする環境準備が完了し、sponcvディレクトリの下に直接入り、次のコマンドを実行します.
終了すると、distディレクトリの下に対応するspconv-xxx-xxxが生成する.whlファイル.次のコマンドを続行します.
これでspconvコンパイルはこれで終わります.もちろん、cmake-3.13.2でコンパイルしたspconvファイルも使用すれば、私がコンパイルしたspconvファイルを直接ダウンロードすることができ、リンクは末尾に与えられます.
Step 4:Apexのインストール
Apexをインストールするのは比較的に簡単で、ホームページのヒントに従ったことがあります:
Step 5:cudaにnumbaを設定する環境
入るbashrcで編集:
Step 6:secondを追加する.pytorchからPYTHONPATH
入るbashrcで編集:
これでsecondについて.pytorchのnvidia-dockerの下の環境依存はこれで完璧に終わります.
second.pytorchコード走通デバッグバグ修復(継続更新)
データ準備フォーマット:
パラメータプロファイルの変更:
...pytorch/second/の下にconfigsフォルダがあり、各トレーニングパラメータファイルの構成が入っています.car.fhd.configの場合、ファイルを開いて上の部分を見つけ、データパス構成をnvidia-dockerマッピングのデータパスに変更すればいいです.
データ生成コマンドを実行します.
ここでは-data_パスを–root_に変更パス、create_data.pyパラメータ変数名root_path.KITTI_DATASET_ROOTはあなたのnvidia-dockerデータのマッピングパスです.
データ生成が終了したら、トレーニングコマンドを実行します.
トレーニングフェーズが表示されます–model_dirエラーにより停止しました.モデルが保存するパスを入力する必要があり、新しいフォルダが必要です.
nvidia-dockerのマッピングパスが/model_であると仮定するpath/では:
あなたのモデルパスは-model_です.dir=/model_path/model_20190809
新しいフォルダmodel_が作成されます20190809;
まとめ
正直に言うと、環境の構成に時間がかかり、ソフト・ハードウェア・バージョンの対応などがあります.幸いなことにdockerの出現があって、後で環境を複製するのは比較的に便利で、このsecond.pytorchの環境はこちらで構成が終わりました.2日後には対応するnvidia-dockerをdocker-hubにアップロードし、ダウンロードして直接使用するのに便利です.
自動運転方向のレーザレーダーの深さ学習アルゴリズムに移行し,現在もシロ学習段階にある.この深さ学習3 d点群の面では、まだ新興の発展段階にあり、現在、主に点群をどのようにコーデック方式を通じてCNNを効果的に学習させるか、あるいはデータを変換操作するかなど、給油すると、点群に注目し、深さ学習のこの方向の発展を推進する人が増えている.私はもっと魚を触って、漏れを拾って勉強を続けます!
nvidia-dockerミラーダウンロードリンク
second.pytorchのnvidia-dockerミラーダウンロード:docker pull smallmunich/ubt 1804_second:v0
spconvはcmake-3.13.2のwhlファイルを通じてダウンロードします:このファイルはubt 1804_にありますsecondミラー下~/spconv/dist/奥
リファレンスリンク
https://github.com/traveller59/second.pytorch
https://github.com/traveller59/spconv
https://github.com/NVIDIA/apex
second.pytorchコードはいくつかの3 dレーザレーダ点雲の学習アルゴリズムを集積し、この方面の資料は相対的に少なく、主に3 d点雲の深さ学習アルゴリズムもこの2年で力を入れ始めた.学習資料は相対的に単一で、本文はまず自分の配置secondを記録する.pytorchのnvidia-docker環境で踏んだピットは,後期に現在の3 d-lidar点群の深さ学習アルゴリズムをそれぞれ書く.ここでも、second.を参考にすることをお勧めします.pytorchの環境構成チュートリアル.OK始めましょうpytorchの環境配置は修行の道を練りましょう.
second.pytorchコード環境構成
本稿では、nvidia-dockerミラーの下にインストールされている環境に依存します.この環境構成はgithubの下secondを直接参照することができます.pytorchのreadme.txt部分はsecond.pytorchのインストールの説明では、主にソフト・ハードウェアの不整合、コンパイルの問題に関連する問題が発生します.ここで記録し、構成が完了したnvidia-dockerミラーを保存します.本明細書を参照したくないので、直接文末に入ってnvidia-dockerミラーをダウンロードすることができます.
second.pytorch公式サイトgithubアドレス:https://github.com/traveller59/second.pytorchマイコンピュータ環境構成:GeForce RTX 2080+CUDA 10.0 + Torch 1.1.0 + Python 3.7
前提条件:NVIDIAドライバ、CUDA、docker、nvidida-dockerのインストールが事前に構成されていることを確認します.(cuda 10.1テストコンパイルspconvにいくつかの問題があり、cuda 10.0のインストールを推奨)
nvidia-dockerでの環境構成
現在インストールに成功している構成はcuda 10です.0+cudnn7.xシリーズ、親測定はcuda 10.1時だpytorch依存ライブラリspconvコンパイル時に問題が発生し、公式サイトissuesで最も多くのcmakeが発生します.device_link.oこれらの問題.cuda 10の使用を推奨する.バージョン0
Step 1:まずnvidia-docker環境でsecondコードpullを降ろす
git clone https://github.com/traveller59/second.pytorch
cd ./second.pytorch/second
Step 2:関連依存項目のインストール
nvidia-dockerミラーの中に入って、Anacondaをインストールすることを提案して、公式サイトに行ってlinuxをダウンロードしてミラーの中に対応します.
Anacondaのダウンロードが完了すると、dockerミラーの中で端末が直接:(車に戻るには、入力が必要ですyes)
sh Anaconda-xxx.sh
その他の依存パッケージをインストールするには、次の手順に従います.
conda install scikit-image scipy numba pillow matplotlib
pip install fire tensorboardX protobuf opencv-python
Step 3:spconvのコンパイル
単独でspconvを持ち出すのは、ここでコンパイルするのに少し穴があるので、避ける必要があります.
まずもちろんclone spconvのコード部分です.
git clone https://github.com/traveller59/spconv --recursive
spconvはダウンロードに成功しない可能性があります.cloneが失敗した場合、git clone fatal:The remote end hung up unexpectedlyと報告します.この原因はネットワークの原因による可能性があります.
git構成の最低速度と最低速度時間を設定することで解決します.
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
次にboostライブラリをインストールしてdockerのミラーシステムヘッダファイルディレクトリに入り、以下のコマンドを直接叩くことができます.
apt-get install libboost-all-dev
いやなら、boost公式サイトで圧縮パッケージをダウンロードし、解凍してspconvのヘッダファイルにヘッダファイルをコピーすればいい.
新しいバージョンのcmake>3.13.2を再びインストールし、PATHディレクトリに追加します.
このステップでは、cmakeソースをダウンロードしてコンパイルしてインストールしました.cmakeソースサイトは以下の通りです.
wget http://www.cmake.org/files/v.3.13/cmake-3.13.2.tar.gz
tar xvf cmake-3.13.2.tar.gz
cd cmake-3.13.2
./configure
make && make install
cmakeが正常にインストールされたかどうかを検出します.
cmake --version
cmakeのバージョン番号が変更されていない場合は、ソフト接続を追加する必要があります.
sudo ln -sf /your_cmake_path/bin/* /usr/bin/
error/usr/bin/cake no such files...などのエラーが発生した場合
cmake-3.13.2パスのcmakeを/usr/binにコピーします.
cp /your_cmake_file_parent_path/cmake-3.13.2/bin/cmake /usr/bin
cmakeのインストールに成功したら、cmakeのファイルパスを追加することを忘れないでください.bashrcの中:
export PATH=$PATH:/your_cmake_file_parent_path/cmake-3.13.2/bin
.bashrc
source .bashrc
pytorch>1.0+がインストールされていることを確認します.インストールされていない場合は、次のコマンドを実行します.
conda install torch = 1.1.0
conda install torchvision
ここで、sponcvをコンパイルする環境準備が完了し、sponcvディレクトリの下に直接入り、次のコマンドを実行します.
python setup.py bdist_wheel
終了すると、distディレクトリの下に対応するspconv-xxx-xxxが生成する.whlファイル.次のコマンドを続行します.
cd ./dist
pip install spconv-xxx-xxx.whl
これでspconvコンパイルはこれで終わります.もちろん、cmake-3.13.2でコンパイルしたspconvファイルも使用すれば、私がコンパイルしたspconvファイルを直接ダウンロードすることができ、リンクは末尾に与えられます.
Step 4:Apexのインストール
Apexをインストールするのは比較的に簡単で、ホームページのヒントに従ったことがあります:
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
Step 5:cudaにnumbaを設定する環境
入るbashrcで編集:
export NUMBAPRO_CUDA_DRIVER=/usr/lib/x86_64-linux-gnu/libcuda.so
export NUMBAPRO_NVVM=/usr/local/cuda/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda/nvvm/libdevice
Step 6:secondを追加する.pytorchからPYTHONPATH
入るbashrcで編集:
export PYTHONPATH=$PYTHONPATH:/your_second.pytorch_path/
これでsecondについて.pytorchのnvidia-dockerの下の環境依存はこれで完璧に終わります.
second.pytorchコード走通デバッグバグ修復(継続更新)
データ準備フォーマット:
└── KITTI_DATASET_ROOT
├── training <-- 7481 train data
| ├── image_2 <-- for visualization
| ├── calib
| ├── label_2
| ├── velodyne
| └── velodyne_reduced <-- empty directory
└── testing <-- 7580 test data
├── image_2 <-- for visualization
├── calib
├── velodyne
└── velodyne_reduced <-- empty directory
パラメータプロファイルの変更:
train_input_reader: {
...
database_sampler {
database_info_path: "/path/to/dataset_dbinfos_train.pkl"
...
}
dataset: {
dataset_class_name: "DATASET_NAME"
kitti_info_path: "/path/to/dataset_infos_train.pkl"
kitti_root_path: "DATASET_ROOT"
}
}
...
eval_input_reader: {
...
dataset: {
dataset_class_name: "DATASET_NAME"
kitti_info_path: "/path/to/dataset_infos_val.pkl"
kitti_root_path: "DATASET_ROOT"
}
}
...pytorch/second/の下にconfigsフォルダがあり、各トレーニングパラメータファイルの構成が入っています.car.fhd.configの場合、ファイルを開いて上の部分を見つけ、データパス構成をnvidia-dockerマッピングのデータパスに変更すればいいです.
データ生成コマンドを実行します.
python create_data.py kitti_data_prep --data_path=KITTI_DATASET_ROOT
ここでは-data_パスを–root_に変更パス、create_data.pyパラメータ変数名root_path.KITTI_DATASET_ROOTはあなたのnvidia-dockerデータのマッピングパスです.
データ生成が終了したら、トレーニングコマンドを実行します.
python ./pytorch/train.py train --config_path=./configs/car.fhd.config --model_dir=/path/to/model_dir
トレーニングフェーズが表示されます–model_dirエラーにより停止しました.モデルが保存するパスを入力する必要があり、新しいフォルダが必要です.
nvidia-dockerのマッピングパスが/model_であると仮定するpath/では:
あなたのモデルパスは-model_です.dir=/model_path/model_20190809
新しいフォルダmodel_が作成されます20190809;
まとめ
正直に言うと、環境の構成に時間がかかり、ソフト・ハードウェア・バージョンの対応などがあります.幸いなことにdockerの出現があって、後で環境を複製するのは比較的に便利で、このsecond.pytorchの環境はこちらで構成が終わりました.2日後には対応するnvidia-dockerをdocker-hubにアップロードし、ダウンロードして直接使用するのに便利です.
自動運転方向のレーザレーダーの深さ学習アルゴリズムに移行し,現在もシロ学習段階にある.この深さ学習3 d点群の面では、まだ新興の発展段階にあり、現在、主に点群をどのようにコーデック方式を通じてCNNを効果的に学習させるか、あるいはデータを変換操作するかなど、給油すると、点群に注目し、深さ学習のこの方向の発展を推進する人が増えている.私はもっと魚を触って、漏れを拾って勉強を続けます!
nvidia-dockerミラーダウンロードリンク
second.pytorchのnvidia-dockerミラーダウンロード:docker pull smallmunich/ubt 1804_second:v0
spconvはcmake-3.13.2のwhlファイルを通じてダウンロードします:このファイルはubt 1804_にありますsecondミラー下~/spconv/dist/奥
リファレンスリンク
https://github.com/traveller59/second.pytorch
https://github.com/traveller59/spconv
https://github.com/NVIDIA/apex