我想使用opencv-python4.4
为YOLOv3进行推理。但它默认使用CPU。我已经阅读了这里的说明,说新版本的opencv4.2.0
已经支持GPU。但该指令仅针对Ubuntu
,而我的指令是Windows10
。
我试过了。你能教我如何在旺多完成这项任务吗?10,蟒蛇?当我直接使用它时,出现了错误:
cv::dnn::dnn4_v20191202::Net::Impl::setUpNet DNN module was not built with CUDA backend; switching to CPU
似乎我必须手动编译opencv
,但这不是针对Cpp
的吗?但我只想在python
上实现它。有人能给我一些指示吗?
您确实需要自己构建OpenCV。
当您为OpenCV使用Python绑定时,OpenCV库本身是用C++而不是Python编写的。这也解释了OpenCV如何使用CUDA,另一个C++库来访问NVidia GPU。
你链接的说明来自一个与OpenCV无关的人,他承认自己有反Windows的偏见。这意味着这些说明对你没有用处。
这些说明确实涵盖了Windows版本。
摘要:
- 使用Visual Studio 2019(Microsoft最新的C++编译器(和CMake
- 下载&安装OpenCV
- 下载&安装CUDA和cuDNN
- 下载&安装Anaconda3并将其用作默认Python
- 设置环境变量,以便CMake可以找到您安装的库
- 设置环境变量和选项,使CMake知道您还需要OpenCV的Python绑定
- 使用CMake为Visual Studio创建.sln文件
- 在Visual Studio中打开.sln并生成它
- 这将生成您需要的
cv2.cp37-win_amd64.pyd
文件
我已经想通了。。。两个
-DBUILD_opencv_python3=ON
-DBUILD_opencv_python2=OFF
必须指定,否则to be built
将根本不包括任何python模块。