最近接触yolov3,写此踩坑记录。也希望可以帮到大家。(第一次写博客,写的不好欢迎指正,有问题评论区回复)
以下是主要的坑,一定要看:
1.尽量选择vs2015+opencv3.4.0。不要问我为啥,我vs是从19换到17最后到15,opencv也是4.1.2一路换下来。中间原因包括版本bug,版本不兼容等等,吐血。(不过有兴趣的同学可以试试)
2.大家一定要注意!!!!进行cuda和cudnn配置时看看自己的电脑是否是合适的版本!!!具体往后面看,写的有。
3.环境变量配置要仔细!!!怎么配链接博客有。
4.教程配置有两种版本,一种是cpu,一种是gpu版本,本文是gpu版本,所以大家要看看自己电脑是否符合。辨认方法简单,直接度娘就可。
5.有的教程会涉及到conda,tensorflow,大家可以不用管,直接看我的环境需求就好,这些好像是另外一种虚拟系统和神经网络计算系统(这是我的理解,大家可以自行百度)
6.!!!整体配置过程尽量不要乱,最好严格按照教程里面的顺序,哪怕是vs里面的一些选择项也是,一是方便梳理找错误原因,二是配置过程,有些操作满足先后顺序,比如临时文件生成。
ok,差不多了,开始
win10(x64)+vs2015+opencv3.4.0
cuda+cudnn
yolov3+darknet
vs2015官网下载很慢,而且在线版又会有很多问题出现,所以建议下载镜像
链接: 镜像.
下载完了解压点开,双击.exe就可了。opencv下载在下面这篇博客有。
vs2015和opencv的配置参照也下面这篇博客:
链接: 博客.
这里一定要仔细看:有个版本选择问题,就是根据自己的电脑决定,所以不要死板跟着网上教程来,具体选择方法自行百度,放心秒懂。我当时因为不细心,卡了半天。然后配置的具体操作看这篇博客里面的cuda+cudnn部分就可以了,弄完了就回来继续。
链接: 博客.
(如果是比2015版本高的,会有其他的操作,比如选工具集等,所以其他版本现在就请自己找方法,从这里开始是2015的操作)
下载darknet:
链接: link.
下载好了之后进入darknet\build\darknet目录,用记事本打darknet.vcxproj,将所有CUDA 10.0修改为自己对应的CUDA版本,我的是CUDA 9.2,故改为9.2。(共有两处需要修改,建议记事本替换)
然后用vs2015打开darknet.sln(不是直接双击点开哦),之后将项目修改为Release x64,这个不选,后面的配置可能不会保存。
配置包含目录 + 库目录 + 链接器:
包含目录:在darknet项目上点击鼠标右键->属性,弹出如下界面:然后VC++目录–>包含目录–>编辑
添加的目录:…\opencv\build\include(…代表opencv的安装路径,下文同理)
…\opencv\build\include\opencv
…\opencv\build\include\opencv2
库目录:方法与包含目录类似,添加的目录为:…\opencv\build\x64\vc14\lib
链接器:添加目录…\opencv\build\x64\vc14\lib下库的名字:opencv_world340.lib,确定回到原始界面。
再次右键darknet,同样选择属性,进入CUDA C/C++中的Code Generation,删掉compute_75,sm_75(此步极为关键,要不然必出错)
右键darknet,选择生成
编译成功,会在darknet\build\darknet\x64下得到darknet.exe
差不多就配置ok了
最后测试:
下载yolov3测试包:
链接: 下载
如果嫌慢,这是我的网盘分享:https://pan.baidu.com/s/13kFM7uiRv98wlHBJJm49QQ
提取码:1myz
下载完成后把它放到darknet\build\darknet\x64下
在darknet\build\darknet\x6下按住shift键,点击鼠标右键选择“在此处打开Powershell 窗口(s)”
在命令行输入 .\darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
如果看到以下结果,说明你成功的配好了YOLOv3
这是我苦搞两天,反复看了二十几篇博客的总结,希望可以帮到大家。