Сборка OpenCV 4.2 для использования бэкэнда CUDA - для CUDA_cublas_LIBRARY задано значение NOTFOUND (Windows 10) - PullRequest
1 голос
/ 19 марта 2020

Я пытаюсь собрать OpenCV 4.2 с CMake, чтобы использовать следующую функцию в моем коде Python, чтобы использовать графический процессор вместо процессора для вывода (с CUDA 10.2):

net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)

Однако я получил следующую ошибку:

 cv::dnn::dnn4_v20191202::Net::Impl::setUpNet DNN module was not built with CUDA backend; switching to CPU

После быстрого поиска мне кажется, что мне нужно собрать openCV из исходного кода, используя CMake (3.17.0) вместо установки в pip.

Я сделал следующее на CMake (с OpenCV версии 4.2, а также с рекомендованной мне версией 3.4.2.17):

  • Выберите исходный файл и папки сборки
  • Введите значение для OPENCV_EXTRA_MODULES_PATH с путем к репозиторию opencv-contrib + / modules
  • Нажмите configure
  • Проверьте запись WITH_CUDA
  • Нажмите configure
  • Нажмите generate

Я получаю следующую ошибку, которая появляется сразу:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_LIBRARY (ADVANCED)
    linked by target "opencv_cudev" in directory C:/Users/samelson/opencv-3.4.2/modules/cudev
    linked by target "opencv_test_cudev" in directory C:/Users/samelson/opencv-3.4.2/modules/cudev/test
    linked by target ...

С тоннами похожих строк, начинающихся с "связанный с целью"

Я получаю ту же ошибку с двумя версиями OpenCV .

Любой намек на решение этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...