opencv_dnn:環境構築:dnn_with_cuda

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
opencv_dnn:環境構築:dnn_with_cuda [2020/02/13 17:26]
baba [object_detection.cppの修正]
opencv_dnn:環境構築:dnn_with_cuda [2020/02/23 14:51] (現在)
baba [OpenCV DNN with CUDA]
ライン 2: ライン 2:
 このページでは,OpenCVのdnnモジュールをcudaでinferenceさせるための環境構築に関してまとめます.もともとの動機は このページでは,OpenCVのdnnモジュールをcudaでinferenceさせるための環境構築に関してまとめます.もともとの動機は
   * OpenCVのdnn inferenceをもっと早くしたい   * OpenCVのdnn inferenceをもっと早くしたい
-なわけです.もちろんintelのinference engine ( https://​github.com/​opencv/​opencv/​wiki/​Intel%27s-Deep-Learning-Inference-Engine-backend )を利用するのもありですが,導入したところで1.5倍程度の速度向上しか見込めません.若干モチベーションが下がる.それで,dnn moduleのcudaサポートがついに4.2から実現した(対応ネットワーク構成に制限があります)という情報を掴み,早速cudaでyoloやssd等を走らせてみよう.と思った次第です.実際にcudaで実行してあげると,大体CPU inferenceの15倍位になります.さすがcuda.+なわけです.もちろんintelのinference engine ( https://​github.com/​opencv/​opencv/​wiki/​Intel%27s-Deep-Learning-Inference-Engine-backend )を利用するのもありですが,導入したところで1.5倍程度の速度向上しか見込めません.若干モチベーションが下がる.それで,dnn moduleのcudaサポートがついに4.2から実現した(対応ネットワーク構成に制限があります)という情報を掴み,早速cudaでyoloやssd等を走らせてみよう.と思った次第です.実際にcudaで実行してあげると,大体CPU inferenceの15倍位(Geforce GTX 1080Tiのとき)になります.さすがcuda.
  
 参考にした記事は以下となります.日本語でこのあたりをubuntu環境でやってる人がいなかったのでここに記しておくことにしました. 参考にした記事は以下となります.日本語でこのあたりをubuntu環境でやってる人がいなかったのでここに記しておくことにしました.
ライン 17: ライン 17:
   * cuDNN 7.6.4   * cuDNN 7.6.4
  
-cmakeでconfigureする際に,導入しているバージョンが複数ある場合は,適切なバージョンに変更するなどのマニュアル作業が生じます.例えばcuda10.2でやり+cmakeでconfigureする際に,導入しているバージョンが複数ある場合は,適切なバージョンに変更するなどのマニュアル作業が生じます.できればcmake-guiを利用してパスバージョンが正しいかを細かく確認することをおすすめします.特にmakeに難しいことはないですが,エラーが出る場合はcuda周を一通りチェックしてください.また,opencv_contribが必要なのでそれも忘れずに.必要に応じてnvidia-dockerすると良いかなと思います.
  
 ==== object_detection.cppの修正 ==== ==== object_detection.cppの修正 ====
  • opencv_dnn/環境構築/dnn_with_cuda.1581582369.txt.gz
  • 最終更新: 2020/02/13 17:26
  • by baba