美文网首页darknet
darkNet配置的问题

darkNet配置的问题

作者: 1037号森林里一段干木头 | 来源:发表于2020-10-26 09:04 被阅读0次
简介:Darknet项目是github上的一个开源深度学习框架,用c语言编写,布置C/C++环境比较方便,这里是配置darknet遇到的一些问题。

1.SDK版本问题

vs2017 error MSB8036: The Windows SDK version 8.1 was not found.


SDK.PNG
  • 解决方法:右键darknet选择属性-常规,Windows SDK版本换成10.0.XXX(默认是SDK8.1版本)

2.bin\bin\nvcc.exe路径问题

D:\vs2017pro\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 10.1.targets(762,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" --use-local-env -ccbin "D:\vs2017pro\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64" -x cu  -I\include -IC:\opencv_3.0\opencv\build\include -I..\..\include -I..\..\3rdparty\stb\include -I..\..\3rdparty\pthreads\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I\include -I\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include"  -G   --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static  -g   -DCUDNN_HALF -DCUDNN -D_CRTDBG_MAP_ALLOC -D_MBCS -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -DDEBUG -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Fdx64\Debug\vc141.pdb /FS /Zi /RTC1 /MDd " -o x64\Debug\convolutional_kernels.cu.obj "D:\mydoc\ML\yolo\darknet\src\convolutional_kernels.cu"”已退出,返回代码为 2。
1>D:\vs2017pro\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 10.1.targets(762,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" --use-local-env -ccbin "D:\vs2017pro\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64" -x cu  -I\include -IC:\opencv_3.0\opencv\build\include -I..\..\include -I..\..\3rdparty\stb\include -I..\..\3rdparty\pthreads\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I\include -I\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include"  -G   --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static  -g   -DCUDNN_HALF -DCUDNN -D_CRTDBG_MAP_ALLOC -D_MBCS -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -DDEBUG -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Fdx64\Debug\vc141.pdb /FS /Zi /RTC1 /MDd " -o x64\Debug\im2col_kernels.cu.obj "D:\mydoc\ML\yolo\darknet\src\im2col_kernels.cu"”已退出,返回代码为 2。
1>已完成生成项目“darknet.vcxproj”的操作 - 失败。

按照路径打开命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin" 发现下面没有\bin\nvcc.exe


image.png
  • 解决方法,右键项目-属性-CUDA C/C++-common,去掉v10.1后面的bin即可。(注:直接复制bin到bin的目录下后面编译还是会出现其他问题)


    cuda-bin.PNG

3.CUDA的库目录配置问题

1>D:/mydoc/ML/yolo/darknet/src/avgpool_layer_kernels.cu : fatal error C1083: 无法打开包括文件: “cuda_runtime.h”: No such file or directory
1>D:/mydoc/ML/yolo/darknet/src/crop_layer_kernels.cu : fatal error C1083: 无法打开包括文件: “cuda_runtime.h”: No such file or directory
1>D:\vs2017pro\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 10.1.targets(762,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" --use-local-env -ccbin "D:\vs2017pro\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64" -x cu  -I\include -IC:\opencv_3.0\opencv\build\include -I..\..\include -I..\..\3rdparty\stb\include -I..\..\3rdparty\pthreads\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I\include -I\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include"  -G   --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static  -g   -DCUDNN_HALF -DCUDNN -D_CRTDBG_MAP_ALLOC -D_MBCS -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -DDEBUG -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Fdx64\Debug\vc141.pdb /FS /Zi /RTC1 /MDd " -o x64\Debug\convolutional_kernels.cu.obj "D:\mydoc\ML\yolo\darknet\src\convolutional_kernels.cu"”已退出,返回代码为 2。
1>D:\vs2017pro\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 10.1.targets(762,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" --use-local-env -ccbin "D:\vs2017pro\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64" -x cu  -I\include -IC:\opencv_3.0\opencv\build\include -I..\..\include -I..\..\3rdparty\stb\include -I..\..\3rdparty\pthreads\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include" -I\include -I\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\include"  -G   --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static  -g   -DCUDNN_HALF -DCUDNN -D_CRTDBG_MAP_ALLOC -D_MBCS -D_TIMESPEC_DEFINED -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_CRT_RAND_S -DGPU -DWIN32 -DDEBUG -D_CONSOLE -D_LIB -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Fdx64\Debug\vc141.pdb /FS /Zi /RTC1 /MDd " -o x64\Debug\im2col_kernels.cu.obj "D:\mydoc\ML\yolo\darknet\src\im2col_kernels.cu"”已退出,返回代码为 2。
1>已完成生成项目“darknet.vcxproj”的操作 - 失败。
  • 解决方法:右键属性-vc++目录-包含目录,添加CUDA安装路径下的include


    cuda-include.PNG

4.MSB372错误

msb372错误.png

这个错误是因为cuda版本不对应的问题,原项目用的cuda版本是11.1,而我的是10.1。解决方法:打开darknet.vcxproj(就在darknet.sln同级目录下)修改

<CudaCompile>
      <TargetMachinePlatform>64</TargetMachinePlatform>
      <CodeGeneration>compute_35,sm_35;compute_86,sm_86</CodeGeneration>
    </CudaCompile>

改为

<CudaCompile>
      <TargetMachinePlatform>64</TargetMachinePlatform>
      <CodeGeneration>compute_35,sm_35;compute_75,sm_75</CodeGeneration>
    </CudaCompile>

(不同版本的cuda和这里的compute_xx,sm_xx的对应关系不知道是怎么对应的,如果有知道的小伙伴还请赐教)

5.编译成功

image.png

相关文章

网友评论

    本文标题:darkNet配置的问题

    本文链接:https://www.haomeiwen.com/subject/sazmmktx.html