gpt4 book ai didi

cmake - 编译yolo(暗网)时如何让cmake启用cuda?

转载 作者:行者123 更新时间:2023-12-04 21:02:36 27 4
gpt4 key购买 nike

我目前正在使用 cmake-gui 编译 yolo darknet https://github.com/AlexeyAB/darknet.git .但是,它不会启用 cuda,我还有其他一些奇怪的问题。这些包括当我使用 VS2017 构建它后从 Release 文件夹运行darknet.exe 时,它​​指出它找不到 pthreadVC2.dll 或 opencv_world410.dll。

为了解决其他问题,我复制了 exe 和那些文件,并将它们全部放在项目的根文件夹中。这似乎有效,但我不确定为什么它不工作。

对于 cuda,我不知道该尝试什么。我有这些系统变量和路径:
System Variables
System Variable Path

这是我的 cmake-gui:
cmake1
cmake2

可以看出 CMAKE_CUDA_COMPILER 是 NOTFOUND。我认为这是问题所在,但我不确定为什么找不到它。如果我运行 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:\opencv\build\x64\vc15\bin to your PATH to be able to run your applications.
ZED SDK not enabled, since it requires CUDA
Configuring done

如果您对这些问题有任何建议,请告诉我。仅供引用,目前暗网确实有效,如果我在 dog.jpg 上对其进行测试,它会成功检测到这些类。但是,这当然没有 Cuda 或 cudnn,我想最终使用它们。谢谢!如果您需要我的其他任何东西,请告诉我!

最佳答案

@Andropogon 给出了答案:在 Visual Studio 之后必须重新安装 CUDA。

这是我和同事深入研究后发现的:

  • 与 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 问题有所了解。

    关于cmake - 编译yolo(暗网)时如何让cmake启用cuda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55830220/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com