Windows 7下Yolo安装实践(VS2015+Cuda 9.0+cuDNN 7.3+opencv 3.4.3)

我的相关博客:

《Windows 7+Visual Studio 2015下Cuda 9.0、cuDNN 7.3安装》


在之前实践vs版MTCNN失败后,便继续试一试Yolo。

本机环境:笔记本、GTX970M的GPU、windows 7、VS2015、Cuda 9.0+cuDNN 7.3。

官方github中的README给出的环境要求如下:

both OpenCV 2.x.x and OpenCV <= 3.4.0 (3.4.1 and higher isn't supported)(这里提到3.4.1以上的不行,但还是用3.4.3成功了)

both cuDNN v5-v7

CUDA >= 7.5

Cuda、cuDNN已经有了(安装可以参考《Windows 7+Visual Studio 2015下Cuda 9.0、cuDNN 7.3安装》),系统环境软件版本不符的可参考之前的文章修改VS工程配置文件xxx.vcxproj中的对应项为已有环境配置。

还需要安装opencv、下载darknet。

首先,下载darknet,找到的windows版。

下载后先在vs中生成试试,当然是会失败的,还有很多东西没配置,opencv也没下载。

先下载opencv,我下载的是opencv-3.4.3(版本应该有影响,最后还是测试成功了,大家可以按官方给的要求,安装不超过3.4.0试试),运行安装即可。

配置了包含目录、库目录、附件依赖项(opencv_worldXXXd.lib,XXX根据opencv版本而定,如OpenCV3.4.3则是opencv_world343d.lib)等内容后,再次生成,失败,原因:编译部分opencv中的c源文件(cifar.c、coco.c)时出现了很多error C2054、error C2059、error C2061等语法错误。

网上搜索各种有关语法错误的解决方案基本无果,最后在此项目github中发现有人提过相关问题,有提到可能由于opencv版本影响导致出现大量类似语法错误。其中有用信息不多,最后在回答者SpaceView中找到了有用信息:

Dears, it seems this problem only happens in debug mode, for release mode it is of no problem. I got the same error, still not solved it with opencv3.3.0 (with IDE visual studio 2015) yet.
I found that delete the OPENCV definition from the project properties --> c/c++ --> preprocess --> preporcess definitions (remove the "OPENCV" here), the project will be OK (in debug mode). thus it seems the problem is from opencv versions, need further checking to understand...

while I changed to Opencv3.2.0, Opencv3.0.0, both compiled successfully, for the debug mode.

回答说他在Release模式下build没错,Debug有错,然而我用的就是Release模式。再看后面,提到在vs项目属性中的c/c++项中的预处理器项中将预处理器定义中的OPENCV删除,即可成功,说是opencv版本问题(怎么得出是版本问题,我不太懂)。

Ok,按以上方案操作,删除OPENCV项,终于生成成功!

最后测试网络,需要网络权值,在README中有给出:

Pre-trained models for different cfg-files can be downloaded from (smaller -> faster & lower quality):

  • yolov3-spp.cfg (240 MB COCO Yolo v3) - requires 4 GB GPU-RAM: https://pjreddie.com/media/files/yolov3-spp.weights
  • yolov3.cfg (236 MB COCO Yolo v3) - requires 4 GB GPU-RAM: https://pjreddie.com/media/files/yolov3.weights
  • yolov3-tiny.cfg (34 MB COCO Yolo v3 tiny) - requires 1 GB GPU-RAM: https://pjreddie.com/media/files/yolov3-tiny.weights
  • yolov2.cfg (194 MB COCO Yolo v2) - requires 4 GB GPU-RAM: https://pjreddie.com/media/files/yolov2.weights
  • yolo-voc.cfg (194 MB VOC Yolo v2) - requires 4 GB GPU-RAM: http://pjreddie.com/media/files/yolo-voc.weights
  • yolov2-tiny.cfg (43 MB COCO Yolo v2) - requires 1 GB GPU-RAM: https://pjreddie.com/media/files/yolov2-tiny.weights
  • yolov2-tiny-voc.cfg (60 MB VOC Yolo v2) - requires 1 GB GPU-RAM: http://pjreddie.com/media/files/yolov2-tiny-voc.weights
  • yolo9000.cfg (186 MB Yolo9000-model) - requires 4 GB GPU-RAM: http://pjreddie.com/media/files/yolo9000.weights

下载一个放在darknet.exe所在目录(..\darknet-master\build\darknet\x64)即可。

执行darknet_yolo_v3.cmd测试运行。

成功~

Windows 7下Yolo安装实践(VS2015+Cuda 9.0+cuDNN 7.3+opencv 3.4.3)_第1张图片

 

可以看出效果不错,连只露出一条腿的也给标出来了。


内容、表述如有不当之处,望批评指正。

参考:

https://github.com/AlexeyAB/darknet

https://github.com/AlexeyAB/darknet/issues/233

https://www.cnblogs.com/peacepeacepeace/p/9060229.html

 

 

你可能感兴趣的:(深度学习)