web-dev-qa-db-ja.com

OpenCV-PythonでGPUを使用してください

Windows 10上のGPUでOpenCV-Pythonを使用しようとしています。

PIPを使用してOpenCV-CONTRION-Pythonをインストールし、v4.4.0.42では、コンピュータやパスにCUDAもあります。

とにかく、これは私がコンパイルしようとしている(単純な)コードです:

import cvlib as cv
from cvlib.object_detection import draw_bbox

bbox, label, conf = cv.detect_common_objects(img,confidence=0.5,model='yolov3-worker',enable_gpu=True)

output_image = draw_bbox(img, bbox, label, conf)
 _

まず、ここにTFがCUDAで問題ないことを教えてください。

2020-08-26 5:51:55.718555: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll
 _

しかし、私のGPUを使って画像を分析しようとすると、次のようなものがあります。

[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-j8nxabm_\opencv\modules\dnn\src\dnn.cpp (1429) cv::dnn::dnn4_v20200609::Net::Impl::setUpNet DNN module was not built with CUDA backend; switching to CPU
 _

CMAKEを使用してOpenCVをインストールすることなくこれを解決する方法はありますか? Windowsの混乱です...

3
Panda50

同じ問題を得ることができる人のために。ハリーに言及したように、PIPからOpenCVでGPUを使用することはできません。「手動で」CMAKE(Windows用)を使用して構築する必要があります。

それは少し難しいですが、あなたを助けるためにここにいる多くのチュートリアルがあります。私はCVLIBを作るために2日間過ごしました、そしてそれがなぜNvidiaのWebサイトから監督されたcudnn.dllの1つは命名されています:

Cudnn64_8.dll.

そしてOpenCV(またはより正確になるテンソルフロー)の必要性

Cudnn64_7.dll.

実際、あなたはちょうど8から7を交換する必要があります! ;)それは唯一の硬い部分でした、そして私はそれがCmakeプロセスから来たと信じていました。

もう一度ハリーをありがとう。

1
Panda50