Darknet配置CUDA+cudnn详细步骤

时间:2024-01-29 19:44:56

一、CUDA安装

1、查看NVIDIA对应的CUDA版本

在电脑桌面右键,选择NVIDIA控制面板(若没出现NVIDIA控制面板,请看下面的注),出现

img

点击我用红色画笔所圈之处选择高性能NVIDIA处理器,出现

img

点击左下角我所圈的之处的系统信息,出现

img

再点击我所圈的处的组件,出现

img

所圈之处即为显卡所支持的CUDA版本

:若点击桌面右键,选择项里没有NVIDIA控制面板,那很有可能显卡驱动器出了问题,我就遇到这个问题,原因是从360驱动器那下载的显卡驱动有问题,解决办法是去NVIDIA官网下载驱动器

2、安装CUDA

以CUDA8.0为例:

进入NVIDIA官网下载CUDA安装包https://developer.nvidia.com/cuda-toolkit-archive

找到你对应的版本,我的是8.0,选择如图:

img

下载之后,打开,选择存临时文件的路径,确定。

img

img

选择自定义版

img

选择安装以上4项。

不要选Visual Studio Integration

不要选Visual Studio Integration

不要选Visual Studio Integration

因为有可能出现全部安装失败的情况!

img

选择安装路径(需要记住路径,一会配环境变量用),我在此选择了默认的。

注:有博主说要设置环境变量,但是我好像并没有用到

另外:我的步骤其实是先安装了CUDA然后才知道要检查处理器的版本

当时安装了最新的10.2,(幸好)正好支持的10.2,我觉得可能是因为安装过程中有一个组件叫driver component的其实就是更新了处理器,上图中未被勾选,图是盗来的

二、安装cudnn

5.上cuDNN官网下载cuDNN,链接如下,界面如下

NVIDIA cuDNNdeveloper.nvidia.com图标

img

然后点击下载,然后提示要登录,没登录的就要注册,登录后做问卷调查..........................最后再点击下载出现

img

选择对应的版本,我这里选择的是cuDNN7.0,然后就是 (如果和我一样10.2就选10.2咯)

img

选择对应电脑版本点击就可以下载了,下载完成后,一步步地安装就行

下载速度其实都还行,最后压缩包解压一下就好了,没有固定放哪

三、配置

全文最重要的一步了

1.打开这个文件darknet.vcxproj,我用vscode

把代码里用到CUDA版本的都改成自己用到实际版本,有两个地方要改,一个是.props,另一个是.targets


2.把CUDA这里面的文件拷贝到vs相应文件夹中

注意:这里要另外打开之前安装CUDA的程序,选中之前没有安装的visual_studio_integration,重新装上,否则不会有这个文件夹;

复制结果如下(四个文件)注意目的文件夹地址在图中

3.配置opencv到vs属性表

这算是老对手了,之前就有一篇这样的博客https://www.cnblogs.com/fragrant-breeze/p/12594544.html

这次主要就是选择Release,X64

属性管理器可以这样打开:

或者直接搜索也很快

其他的关于opencv的配置就根据上面的博客来就ok啦

四、生成darknet

就直接运行darknet.sln即可在当前目录下获得一个darknet.exe

在命令行中cd 当前目录

$ darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

dog.jpg是官方带的example

然而在最后又遇到一个问题

不知道为什么我的darknet没有自带weights权重,(可能都要自己下的吧)

所以把自己之前的复制进去就好了

没有的可以去官网下载或者GitHub都有

最后就这样啦!

五、总结

大概也弄了一个白天了。

本来以为用darknet就可以直接输出ap值,recall(安装darknet的原目的)

没想到是要另外搞代码来计算的,darknet只是中间输出工具(唉)

周末继续吧!

(应该不会有什么步骤遗漏,欢迎大家来讨论)

查看gpu使用情况:
$ cd C:\Program Files\NVIDIA Corporation\NVSMI
$ nvidia-smi

REFERENCE

https://blog.csdn.net/a429367172/article/details/95476435

https://zhuanlan.zhihu.com/p/35717544