文書の過去の版を表示しています。
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環境でやってる人がいなかったのでここに記しておくことにしました.
-
- dnn with cudaを実装した人であるYashasSamagaさんがissueで色々質問に答えています.
基本的には上記のリンクに書いてある通りにすればコンパイルできるんでないかなと思います.
環境構築
- Ubuntu 16.04
- CUDA Toolkit 10.2
- cuDNN 7.6.4
cmakeでconfigureする際に,導入しているバージョンが複数ある場合は,適切なバージョンに変更するなどのマニュアル作業が生じます.例えばcuda10.2でやり