opencv_dnn:環境構築:dnn_with_cuda

文書の過去の版を表示しています。


OpenCV DNN with CUDA

このページでは,OpenCVのdnnモジュールをcudaで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.

参考にした記事は以下となります.日本語でこのあたりをubuntu環境でやってる人がいなかったのでここに記しておくことにしました.

基本的には上記のリンクに書いてある通りにすればコンパイルできるんでないかなと思います.

  • Ubuntu 16.04
  • CUDA Toolkit 10.2
  • cuDNN 7.6.4

cmakeでconfigureする際に,導入しているバージョンが複数ある場合は,適切なバージョンに変更するなどのマニュアル作業が生じます.例えばcuda10.2でやり

backend, targetに関しては下記を参照する.cudaを利用する場合,opencv-4.2.0の場合は backend=5, target=6 を引数で渡すことを忘れないように.

  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/attic/opencv_dnn/環境構築/dnn_with_cuda.1581495036.txt.gz
  • 最終更新: 2020/02/12 17:10
  • by baba