#cmake #cuda #visual-studio-2017 #cudnn #yolo
#cmake #cuda #visual-studio-2017 #cudnn #yolo
Вопрос:
В настоящее время я использую cmake-gui для компиляции yolo darknet вhttps://github.com/AlexeyAB/darknet.git. Однако он не включит cuda, и у меня возникает несколько других странных проблем. К ним относятся, когда я запускаю darknet.exe в папке Release после сборки с использованием VS2017 указано, что он не может найти pthreadVC2.dll или opencv_world410.dll .
Чтобы исправить другие проблемы, я скопировал exe и эти файлы и поместил их все в корневую папку проекта. Кажется, это работает, но я не уверен, почему это не сработало бы иначе.
Что касается cuda, я не уверен, что попробовать. У меня есть эти системные переменные и путь:
Видно, что CMAKE_CUDA_COMPILER НЕ НАЙДЕН. Я думаю, что это проблема, но я не уверен, почему ее нельзя найти. Если я запускаю nvcc -V
в командной строке, он возвращает:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:04_Central_Daylight_Time_2018
Cuda compilation tools, release 10.0, V10.0.130
Также вот выходные данные для конфигурации cmake:
Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.17134.
OpenCV ARCH: x64
OpenCV RUNTIME: vc15
OpenCV STATIC: OFF
Found OpenCV 4.1.0 in C:/opencv/build/x64/vc15/lib
You might need to add C:opencvbuildx64vc15bin to your PATH to be able to run your applications.
ZED SDK not enabled, since it requires CUDA
Configuring done
Если у вас есть какие-либо советы по любой из этих проблем, пожалуйста, дайте мне знать. К вашему сведению, в настоящее время darknet работает, и если я протестирую его на dog.jpg он успешно обнаруживает классы. Однако, это, конечно, без Cuda или cudnn, и я хотел бы использовать их в конечном итоге. Спасибо! Если вам нужно от меня что-нибудь еще, пожалуйста, дайте мне знать!
Комментарии:
1. Почему бы вам не проверить
ENABLE_CUDA
вышеENABLE_OPENCV
?2. На самом деле это не включает его. Когда я сгенерирую его, снимите с него флажок. Если вы посмотрите на git hub и посмотрите на раздел компиляции Windows, где есть изображение того, что должен включать cmake, и мне не хватает группы значений Cuda. Не уверен, как их включить.
3. У меня такая же ошибка: «не удается найти pthreadVC2.dll «. Вы сказали, что теперь это работает у вас, как вы преодолели указанную ошибку? Спасибо 🙂
4. Переместите файл в тот же каталог, из которого вы запускаете darknet. Тогда он сможет это увидеть. Я отказался от попыток сделать с Cuda в Windows, так как я не могу найти решение для этого, дайте мне знать, если у вас получится @Andre
5. Конечно. К сожалению, я только что запустил тесты с частотой 1 кадр / с на процессоре. Графический процессор действительно необходим.
Ответ №1:
В отличие от вышесказанного, я не переустанавливал CUDA, я просто скопировал 4 файла из
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1extrasvisual_studio_integrationMSBuildExtensions
Для
C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160BuildCustomizations
Ответ №2:
Ответ был дан @Andropogon: CUDA необходимо переустановить после Visual Studio.
Это то, что мы обнаружили, когда я немного покопался в этом со своим коллегой:
- Похоже, что, как и в OP, все этапы компиляции выполняются без ошибок и генерируют исполняемый файл.
- При ближайшем рассмотрении cmake в разделе CMAKE /CMAKE_CUDA_COMPILER говорится
NOT FOUND
, несмотря nvcc.exe находясь наPath
. (nvcc --version
отлично работает в Powershell.) Мы вручную ввели местоположение nvcc.exe для этой опции и теперь configure выдает более полезное сообщение об ошибке:No CUDA toolset found.
со ссылкой на номера строк в различных файлах cmake. Среди этих строк было это сообщение, которое, похоже, подтверждает, что Visual Studio (VS) является частью проблемы,
if(NOT CMAKE_VS_PLATFORM_TOOLSET_CUDA)
message(FATAL_ERROR "No CUDA toolset found.")
Итак, после переустановки CUDA компиляция выглядела более похожей на то, что я ожидал, но я все равно получаю исполняемый файл, который, похоже, ничего не делает (нет вывода в командной строке, нет prediction.jpg
сгенерированного). В любом случае, надеюсь, это может пролить немного света на проблему CUDA / VS / cmake.
Ответ №3:
У меня была та же проблема, я перепробовал много способов сделать GPU доступным для transe, и, наконец, cmake начал видеть CUDA, когда я переустановил VS2019 (с диска D на диск C) и переустановил CUDA в версии v.10.1. После этого cmake начал находить CUDA, и после компиляции проекта в VS2019 все начало работать правильно. Важно сначала установить Visual Studio, а затем CUDA.