簡體   English   中英

如何在 python (Windows) 上的 openCV dnn 模塊上使用 GPU 加速?

[英]How to use GPU-acceleration on openCV dnn module on python (Windows)?

我想使用opencv-python4.4opencv-python4.4進行推理。 但它默認使用 CPU。 我在這里看過這個說明,說新版本opencv4.2.0已經支持GPU了。 但是該說明僅適用於Ubuntu而我的是Windows10

我試過你能不能請教我如何在Wondows10,python中完成這個? 當我直接使用它時,出現錯誤:

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 模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM