为了在window上快乐的使用yolo4,接下来就开始环境配置的部分啦~
Demo使用的配置为Win10 + CUDA10.0 + Python3.6 + Vs2015 + Opencv3.4 + cudnn7.6.5前面有提到,作者是使用darknet来实现yolo的,所以yolo的环境配置其实也就是在你的电脑里,建置一个darknet的环境~
1、下载官方的github的专案
下载网址:
github专案开启的界面点击左上角绿色的Code按钮,接着点击download ZIP,专案就开始下载啦~
下载后你就多了一个叫做darknet-master的档案
2、下载和配置opencv
这边使用的是opencv3.4的版本,因为比较不会出错下载后点击里面的.exe档案,就开始安装opencv了安装好后,开始设定环境变量在此电脑处右键,点击属性这里选择高级系统设置点击右下角的环境变量接着,将你刚刚下载的opencv档案夹内的这三个路径,加入环境变量build/include/opencvbuild/include/opencv2Build/x64/vc14/bin 这里的D:\是我的opencv档案安装的路径,你要改成自己的3、下载visual studio 2015(建议2015的版本比较不容易出问题)
为什么建议用2015版本的?
因为在下载的darknet-master档案里有一个Host_congif.h的文件表示
仅支持VS版本在2013-2017之间的进行darknet的建置
4、检查你的python、CUDA、Cudnn是否安装成功
安装教学:
python下载网址,python版本建议下载3.6.6 或者 3.7.6将你的python安装路径加入环境变数
CUDA下载(这里用的CUDA10.0)Cudnn下载(这里用的Cudnn7.6.5)配置CUDA和Cudnn将你的Cudnn的档案内的bin、include、lib三个文件里面的内容,直接复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 (你电脑的CUDA路径)
路径最后的V10.0是因为我安装的版本是CUDA10.0,如果你的版本和我不一样,请选择自己版本名字的文件夹哦~cudnn文件夹的样子CUDA文件夹里的v10.0的样子直接复制、贴上,选择替换目标中的文件
接着将
C:\Program Files\NVIDIA GPU Computing Tool kit\CUDA\v10.0
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
这两个路径新增到环境变数(V10.0是因为下载的CUDA版本是10.0,你要用你自己的路径)
5、修改一些设定档
修改darknet.vcxproj
使用任意文字编译器(记事本也可以)打开darknet-master/build/darknet下的darknet.vcxproj找到两处有CUDA版本号的地方(一般55 & 307行附近)将这里的10.0改为自己的版本号,然后保存移动文件
将下载的opencv档案的build/x64/vc14/bin下的这两个文件(340是因为下载的opencv版本为3.4.0)复制到darknet-master/build/darknet/x64里面接着,把 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\visual_studio_integration\MSBuildExtensions 路径下的四个档案
复制到 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations 和 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
如果路径下没有CUDA10.0.props等这四个档案,应该是因为是安装CUDA的时候,电脑内尚未安装visual studio,选择自动安装CUDA时会安装错误,只能点选自定义安装,所以没有这四个档案。解决方法1:安装好visual studio后,重新安装CUDA,路径中就会出现这四个文件解决方法2:百度云链接(仅适用于CUDA10.0的版本使用)https://pan.baidu.com/s/1Nf8WQYjuXWWi7PCgC-sPXw 提取码: 25ey
6、在VS里面修改设置
用vs2015打开 darknet-master\build\darknet\darknet.sln首次开启时,会跳出一个需要你升级安装等东西的窗口,点击确认,让vs去安装
安装完成后就可以成功开启这个档案了这里要改成Release和X64在右侧darknet的地方右键,点击属性(sorry我这里用的是繁体中文的版本,用语可能不太一样)编辑VC++目录下的包含目录(按照顺序点击)
include目录就是包含目录,我这里用繁体中文版本所以显示的不太一样將你的opencv安裝位置下的
Build/includeBuild/include/opencvBuild/include/opencv2这三个路径加入,点击确定
编辑VC++目录下的库目录(按照顺序点击,操作和上一步大同小异)
添加你的opencv档案里的build/x64/vc14/lib的路径,点击确定
编辑 链接器->输入->附加依赖项(操作和上一步大同小异)
添加你的opencv档案里的 build\x64\vc14\lib下的 .lib文件的档案名(应该会有两个.lib文件,选择副档名前没有d的那个)
像这里,选择第一个文件的档案名就ok,第二个是有d的上面的几个部分都修改完后,点击应用,确认,就好了~
7、生成
前面的步骤都做好后,就可以开始快乐(心惊胆战)的生成专案了~
这里点击生成,生成专案
(然后下面的terminal会开始跑很多很多东西,别怕,他只是在生成)
出现下图这样的画面,表示,恭喜你,建置成功啦~
检查你的darknet-master/build/darknet/x64是否多了一个darknet.exe
至此,YOLO所需要的darknet环境就建好了~(鼓掌)
8、常见问题
生成专案的时候可能出现的问题,这里大概整理了一下(不太全,望谅解)
在xxxxx路径下找不到CUDA 10.0.props文件(类似这样的错误提示)解决方法:把找不到的文件,放到对应的路径中
找不到汇入的CUDA 10.0.props解决方法:检查你的darknet-master/build/darknet下的darknet.vcxproj档案,看一下CUDA版本号有没有修改成和你电脑一样的版本(在步骤5的部分)
查看电脑的CUDA版本方式:
开启命令提示符(在左下角的开始,输入cmd或者命令提示符就有了) 输入nvcc -V ,敲下enter最后一行就是CUDA的版本无法读入opencv的.lib档(或者其他opencv相关档案)解决方法:看一下步骤6里面,修改的档案或者路径的地方,有没有打错字(目前遇到的错误都是因为路径或者档名打错)
如果有任何疑问或者建议欢迎提出
YOLO新手,不胜感激声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:704559159@qq.com