在python3.6下安装vs2017+Cuda9.0+Cudnn7.1+TensorFlow-gpu1.9.0记录

经过千辛万苦终于将yolov3弄出来了,我希望我的配置过程可以帮助大家



文章目录


vs2017安装

在安装Cuda之前需要安装vs,这里我下载的是vs2017,​​链接​​(建议还是安装在C盘,以免后期出问题
安装过程:
在win10下配置yolov3(超详细的der~)_d3
选择单个组件,然后选择vs++2015,也就是v14,如下图选择,随后安装即可
在win10下配置yolov3(超详细的der~)_tensorflow_02

Cuda9.0安装

关于TensorFlow+Cuda+Cudnn的关系对照表

Linux下
在win10下配置yolov3(超详细的der~)_tensorflow_03
windows下

在win10下配置yolov3(超详细的der~)_d3_04

Cuda的下载安装及配置

首先要确认下计算机是否有独立显卡(而且是英伟达显卡),然后点击​​此处​​​查询你的显卡是否在列表中。
一切准备就绪后开始Cuda的安装配置之旅
访问​​​链接​​​,在列表中选中Cuda9.0
在win10下配置yolov3(超详细的der~)_d3_05
之后选择相关参数进行下载
在win10下配置yolov3(超详细的der~)_tensorflow_06
双击打开时显示的是临时解压目录,建议默认即可
在win10下配置yolov3(超详细的der~)_tensorflow_07
接下来安装的时候一直下一步即可,安装成功后进行环境变量的添加:
在win10下配置yolov3(超详细的der~)_d3_08
测试Cuda是否安装成功:
在win10下配置yolov3(超详细的der~)_右键_09

Cudnn下载

访问​​链接​​​(需要注册账号)
在win10下配置yolov3(超详细的der~)_tensorflow_10
注意 选择Cudnn的时候,7.1.x后面跟着的是Cuda 版本号
下载完毕后是一个压缩包,解压完后就可以将里面bin、include、lib文件夹中的内容分别拷入Cuda的安装目录下
Cudnn解压后的文件夹内容:
在win10下配置yolov3(超详细的der~)_d3_11
将bin里面的cudnn64_7.dll、include里面的cudnn.h、lib里面的cudnn.lib分别放入Cuda目录下的bin、include、lib文件夹里
在win10下配置yolov3(超详细的der~)_tensorflow_12

TensorFlow-gpu安装

根据版本进行TensorFlow-gpu的安装,点击​​此处​​​查看需要的TensorFlow-gpu版本是多少
执行pip install 命令指定版本号进行安装即可
​​​pip install tensorflow-gpu==1.9.0​​​ 最后究极测试Cuda9.0+Cudnn7.1+TensorFlow-gpu1.9.0是否安装成功
测试代码:

import tensorflow as tf

hello= tf.constant(‘Hello, TensorFlow!’)
sess= tf.Session()
print(sess.run(hello))



  • 1
  • 2
  • 3
  • 4
  • 5

结果:
在win10下配置yolov3(超详细的der~)_tensorflow_13
最后会显示你的 显卡信息 以及 Hello TensorFlow,到这里vs+Cuda+Cudnn+TensorFlow-gpu就安装完毕了。

openCV安装配置

官网下载​​链接​请不要使用3.4.1,请不要使用3.4.1,请不要使用3.4.1。yolov3的作者已经在GitHub上说明了使用3.4.1会出现变异问题。(亲测,3.4.1貌似真的有问题,假如有小伙伴使用3.4.1没问题,那就是我太菜的问题(●’◡’●))
在win10下配置yolov3(超详细的der~)_右键_14
双击下载好的文件,选择解压路径后点击Extract即可完成解压,解压后就会自动生成一个opencv的文件夹
在win10下配置yolov3(超详细的der~)_d3_15
配置环境变量
将你解压后的opencv文件夹中的…\opencv\build\x64\vc14\bin路径添加到环境变量中
在win10下配置yolov3(超详细的der~)_d3_16
然后ok~

下载darknet

下载​​链接​​​ 也可以直接使用git-bash下载
​git clone https://github.com/AlexeyAB/darknet​

darknet.vcxproj文件的修改

下载完成之后,用文本编辑器、或记事本(我用的是sublime)打开…\darknet-master\build\darknet下面的darknet.vcxproj。分别在55行和299行(也可以全文搜索CUDA )的CUDA 10.0————>CUDA 9.0
在win10下配置yolov3(超详细的der~)_d3_17

darknet.sln文件的设置

接下来需要打开darknet.sln,注意 不要直接双击打开,可以先打开vs2017,然后依次点击文件—>打开—>项目选中darknet.sln打开
打开后,vs会显示
在win10下配置yolov3(超详细的der~)_tensorflow_18
注意,一定要选择无升级,因为如果点击升级,那就是把vs2015的项目升级为vs2017,这样做的结果就是白给,就会出错,所以我们将项目改成Release x64,然后右键项目—>属性
在win10下配置yolov3(超详细的der~)_右键_19
然后,VC++目录—>包含目录—>编辑添加目录:…\opencv\build\inclde(…表示各位小伙伴你们各自的安装路径,以下同理)
在win10下配置yolov3(超详细的der~)_右键_20
然后,配置库目录,添加:…\opencv\build\x64\vc14\lib
在win10下配置yolov3(超详细的der~)_右键_21
然后,C/C++—>常规—>附加包含目录—>编辑添加目录:…\opencv\build\include
在win10下配置yolov3(超详细的der~)_d3_22
然后,链接器—>输入—>附加依赖项—>添加目录:…\opencv\build\x64\vc14\lib下库的名字:opencv_world340.lib
在win10下配置yolov3(超详细的der~)_tensorflow_23
接着,需要拷贝安装好的CUDA 9.0.props等文件
CUDA 9.0.props等文件就在cuda的安装目录下,本人的路径是:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\visual_studio_integration\MSBuildExtensions在win10下配置yolov3(超详细的der~)_tensorflow_24
将里面的所有的文件考本到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations中,这是vs2017安装后的路径
PS:感谢@qq_41548343的题型,在vs2017中如果已存在 CUDA9.0.props 等文件的话,就可以不用复制了哦
在win10下配置yolov3(超详细的der~)_d3_25
不然可能会报如下错误:
在win10下配置yolov3(超详细的der~)_右键_26
然后,将…\opencv\build\x64\vc14\bin下的opencv_world340.dll 和opencv_ffmpeg340_64.dll
在win10下配置yolov3(超详细的der~)_d3_27
复制到E:\darknet\darknet-master\build\darknet\x64 目录下。
最后,还需要修改darknet.vcxproj下158行的compute值,将75改成61,原因貌似是和使用者显卡的计算能力值有关(这一步小伙伴们可以根据自身情况可以灵活变动
在win10下配置yolov3(超详细的der~)_d3_28
因为我当时配置的时候也参考了别人的帖子,别人75是可以正常进行工程生产,而我需要降低数值才可以,可能我的显卡太菜了/(ㄒoㄒ)/
完成上述之后,就可以在darknet工程上右键—>生成,就会发现在工程目录下x64下多了些darknet.exe等文件啦,到这里就完成了搭建了。
在win10下配置yolov3(超详细的der~)_tensorflow_29
在win10下配置yolov3(超详细的der~)_右键_30
完成搭建,之后就是激动人心的测试环节

下载yolo3.weights

下载作者训练好的模型:​​官网地址​​​、​​GitHub​​​下载yolo3.weights
在win10下配置yolov3(超详细的der~)_d3_31
为了方便大家,可以直接从我的​​​网盘,提取码zfib​​​下载
下载后放在…\darknet-master\build\darknet\x64目录下

然后进行测试,在当前目录下右键—>在此处打开命令窗口(也可以打开cmd,cd到darknet.exe的目录下),然后输入命令:​​darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg​​​ 下面是结果(我用的是自己喜欢的图):
在win10下配置yolov3(超详细的der~)_右键_32

相关问题(持续更新)

这里主要记录网上一些小伙伴按照我的教程使用时遇到的一些问题,并分享给大家

无法打开输入文件 “opencv_world320.lib”

来自小伙伴 @qq_41548343 的分享
在darknet工程上右键—>生成,并没有编译出darknet.exe文件,并会提示
在win10下配置yolov3(超详细的der~)_tensorflow_33
解决办法:
将OpenCV的解压路径 …\opencv\build\x64\vc14\lib 添加至程序—>属性—>链接器—>常规—>附加库目录中
在win10下配置yolov3(超详细的der~)_tensorflow_34



参考

为了实现搭建查阅了很多大佬们的文章,也得到了很多帮助
[1] ​​​cuda安装教程+cudnn安装教程​​​ [2] ​​yolov3在win10 下用vs2017配置GPU版​​ [3] ​​yolo3 + Windows + VS2017 + CUDA9.2 教程​​ 以上是部分的文章,谢谢上面大佬的文章,我也希望我的文章可以帮助更多的人。