yolov3在win10 下用vs2017配置GPU版

正在配置yolov3环境,貌似弄出来了,现在简单记记。

软件: vs2017 opencv3.4 cuda8.0 cudnn

  • cuda安装
  • cudnn配置
  • opencv配置
  • vs配置

大致就这么4步,慢慢来。

cuda下载安装

不推荐去官网下,麻烦不说,还老是失败。你要注册才能下,而且总是失败就不爽了,可以搜搜其他的源,我的的8.0,比较老就不挂上去了,正常软件安装没设么好说的。推荐看看这个cuda配置

cudnn配置

cudnn注意的下和cuda配套的包,在解压生成:cuda/include、cuda/lib、cuda/bin三个目录。

  • cuda\include\cudnn.h ——>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include 文件夹里
  • \cuda\bin\cudnn64_7.dll ——>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
  • cuda\lib\x64\cudnn.lib——>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
    说白了将cudnn里对应文件夹里的库放入c盘cuda的文件下面对应的文件夹里。

OpenCV配置

去官网下一个opencv。只要版本不超过3.4就好,我下的3.4。不过我以前装过3.4.1,所以需要先卸载它(也是被这个坑了,最好卸掉)。感谢vs2015删除opencv配置
首先,在C盘–用户–AppData–Local–Microsoft–MSBuild–v4.0 路径下,找到Microsoft.Cpp.Win32.user 文件,用记事本打开,如下图所示
在这里插入图片描述
图中,红色框内即为之前配置的OpenCV环境的包含目录、库目录和附加依赖项,把这部分内容删掉即可

然后,重新打开VS2010,你会发现原来配置的OpenCV环境都没有了,这样你就可以重新按照教程重新在VS中配置OpenCV啦。
然后解压下载文件,配置好环境变量,具体请看网上其他教程,抽时间我会将这个添加。

vs配置

你需要去官方代码下载。然后解压,打开:…\darknet-master\build\darknet下面的darknet.vcxproj。在第55 行和293行修改CUDA 10.0——>CUDA 8.0(用notepad、记事本之类的打开)。
在这里插入图片描述
然后打开darknet.sln(直接点开或者在vs2017中用项目打开)。此时vs会显示:
在这里插入图片描述

注意选择无升级!!!将项目改成Release x64。我是VS2017版本的,需要重定向项目:右键项目–>重定向项目,和上图一样。

接着修改VS属性
如果是VS2017,需要修改工具集(下载工具集过程见1.1),修改如下:右键项目–>属性
在这里插入图片描述
注意:如果安装vs2017时没有选择这个工具,不要紧,退出VS2017。在菜单里打开Visual Studio Installer.
在这里插入图片描述
选择修改,就进入:
在这里插入图片描述
选择单个组件,然后选择vc++2015,也就是vc14,如下图所选择!!!安装即可在这里插入图片描述
安装完毕后,依旧项目右键属性,选择好平台工具集,如上图所示。然后,C++目录–>包含目录–>编辑 添加的目录:…\opencv\build\include(…代表安装路径,下文同理)
在这里插入图片描述

然后在配置库目录,方法与包含目录类似(上面),添加的为:…\opencv\build\x64\vc14\lib
在这里插入图片描述

接着添加附加包含库,…\opencv\build\include
在这里插入图片描述

然后是链接器添加方法:添加目录…\opencv\build\x64\vc14\lib下库的名字:opencv_world340.lib

在这里插入图片描述

接着,拷贝CUDA 8.0.props等文件

CUDA 8.0.props 等文件就在cuda的安装目录下,本人路径是:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\visual_studio_integration\MSBuildExtensions拷贝所有文件到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations中,这个是vs2017安装后的路径,不然有可能会报错:
在这里插入图片描述

最后,拷贝其他配置文件

将…\opencv\build\x64\vc14\bin下的opencv_world340.dll 和opencv_ffmpeg340_64.dll 复制到 D:\darknet\darknet-master\build\darknet\x64 目录下。

上述完成后,入VS在darknet工程上右键——>生成。然后在工程目录下×64下多了些darknet.exe等文件。就完成了搭建,下面来测试!

下载作者训练好的模型:官方网址:GitHub下载yolo3.weights文件。
在这里插入图片描述
然而我试了,那几个都会报错,打不开这个文件,所以用这个吧,这是yolo官网上面下的weights文件时可用的,或者我的网盘7koq。方便大家!
下载后放在…\darknet-master\build\darknet\x64下,打开该目录,双击darknet_yolo_v3.cmd会出现以下结果,表明成功编译。
想要测试其他图片,可以打开cmd,cd到dark.exe目录下面,然后输入命令:darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
其结果是一样的。
下面是结果:
在这里插入图片描述

补充一下:
最近也是把笔记本系统重装了,所以又重配置了下yolov3,按上面流程装,结果跑的时候出了点小问题,

<div> 错误	1	error MSB4062: 未能从程序集 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\Nvda.Build.CudaTasks.v7.5.dll 加载任务“Nvda.Build.CudaTasks.SanitizePaths”。未能加载文件或程序集“Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 7.5.targets	160 </div>

简单来看就是cuda环境没有配好,虽然TensorFlow可以跑。按网上教程,装了 .NET Framework 3.5,再跑就没问题了,给张我再配置后成功的图:
在这里插入图片描述
生成darknet.exe成功,再笔记本上也可以玩啦哈!

猜你喜欢

转载自blog.csdn.net/dz4543/article/details/85255267