yuyuan-bb

win10下yolo环境配置(GPU+CPU)

1.无GPU版本 vs2015+opencv3.2

1.1安装vs2015

首先需要下载vs,有vs2015最好,如果使用vs2017的话,需要下载v140工具集。

我之前安装了vs2017,便偷个懒。

1.2安装opencv3.4.0

下载源:(ps:速度着实有些慢)

https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.0/opencv-3.4.0-vc14_vc15.exe/download

(这里不知道为什么,我不记得这个版本中的opencv有什么用)

血泪教训,之前用3.2.0版本不知道为什么总是报错,如果是非GPU版本,好像暂时还用不到。

1.3安装darknet

https://github.com/AlexeyAB/darknet

下载darknet的压缩包,解压并进入\darknet-master\build\darknet,打开如下图所指的项目darknet_no_gpu.sln(无gpu版本)

1.4下载yolov3.weights

https://link.zhihu.com/?target=https%3A//pjreddie.com/media/files/yolov3.weights

下载完后把文件放在x64文件夹下

1.5调试

控制台无报错

进入\darknet-master\build\darknet\x64,并在该路径下打开命令行

输入以下命令即可,可以看到生成的predictions.jpg

darknet_no_gpu.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg -ext_output

2.带GPU版本 MX150+vs2017+tensorflow-gpu1.14.0+cuda10.0+cudnn7.4

官方支持搭配如下

https://tensorflow.google.cn/install/source_windows

判断自己的机器

  • 首先打开NVIDIA控制面板(我的电脑找不到,我自己又重新安装了)

  • 查看--系统信息

  • 查看自己电脑的驱动版本,我这里是442.50,说明我可以安装CUDA 10.2.89及以下的版本。

兼容性参考来源:

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

2.1安装cuda

https://developer.nvidia.com/cuda-zone

在这里我选择了10.0版本的,安装完成后将以下路径加入环境变量

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64

2.2安装cudnn

https://developer.nvidia.com/cudnn

下载完成后解压,得到压缩包里的cuda文件

将bin文件夹所在目录加入环境变量,我这里是:

D:\config\cudnn7.4\cuda\bin

ps:后续在编译的时候若有提示说找不到"cudnn.h"则可以选择把三个文件夹下的文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0对应的三个文件夹中,(路径中的v10.0基于每个人选择的版本不同),就不会报错了。

测试一下,成功

import tensorflow as tf
#Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name=\'a\')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name=\'b\')
c = tf.matmul(a, b)
#Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
#Runs the op.
print(sess.run(c))

从打印出来的日志我们可以判断出使用了gpu。

2.3安装darknet

接下来继续我们的yolo

下载darknet的步骤同无GPU版本,这里不再赘述。

  • 如果是cuda 10.0版本就不需要修改了,如果是其他版本需要进入\darknet-master\build\darknet,修改如下图所示的文件。

用关键词搜索,修改成当前所用的对应版本,一共可以找到两处。

  • 确认C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations中是否有自己当前版本的CUDA

如果没有的话可以参考https://zhuanlan.zhihu.com/p/45845454中叙述的步骤进行

2.4调试

  • 用vs2017打开darknet文件夹下的darknet.sln

配置opecv环境,可以参考这篇文章,主要就是添加环境变量、引入头文件等

https://note.youdao.com/ynoteshare1/index.html?id=04fb326760a726f23cbd9ae8ff6b1fc6&type=note#/

并在debug x64下运行

  • 如果一切顺利,很快你会x64文件夹下看到生成的darknet.exe

  • 按照无GPU版本的步骤下好yolov3.weight3

2.5运行!

在darknet.exe下打开命令行,输入命令

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

不出意外可以看到结果predictions.jpg

参考来源:

https://zhuanlan.zhihu.com/p/107683614?utm_source=qq&utm_medium=social&utm_oi=606170806108164096

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

后话:总之麻烦还是麻烦,不如ubuntu~

分类:

技术点:

相关文章: