YOLO在windows下的配置

来源:互联网 发布:ioc java 编辑:程序博客网 时间:2024/05/19 02:31

我配置时的环境:VS2013,显卡GeForce 940MX,CUDA8.0,OpenCV3.1.0,pthread:pthread 下载地址

YOLO官网:http://pjreddie.com/darknet/yolo

安装配置CUDA和OpenCV在这就不介绍了,直接说YOLO的配置步骤:

这里可以参考该博主的配置:http://blog.csdn.net/u012235274/article/details/51264222


1、新建VS工程:这里要把新建后自带的kernel.cu删掉,否则后面编译的时候会出现提示有两个main函数

2、将工程设置为Release X64模式

3、然后再工程添加这三个文件夹,命名为c,h,cu。然后分别添加.cu .c .h 文件, 这个地方需要注意,添加的文件的位置在darknet下的src中,但是并不需要添加所有的.cu .c .h。这里要根据你所下载的Makefile里面所显示的来添加文件。因为YOLO都会有更新,所以别人po的文件和你的不一定一样。下面是我的Makefile里所显示的:


这是要添加的.c和.h文件:


这是要添加的.cu文件:


4、接下来是添加包含目录,分别是cuda8.0,opencv,pthread的include,lib.






5、上面都配完之后进行编译,会出现各种错误,这里我说一下自己碰到的问题和解决方案

a、将出现#include<src\time.h>处都改成#include<time.h>

b、在用到inline的文件中,都在前面添加#define inline __inline

c、去掉#include<unisd.h>,说这是在linux下的头文件

d、会出现snprintf,popen,pclose无法解析的问题,这里只要将snprintf改成_snprintf或者在预编译处加入

#if _MSC_VER

#define snprintf _snprintf

#endif 即可,

然后把popen,pclose改成_popen,_pclose,问题就可以解决

f、struct结构体问题,我直接注释掉了

g、注意前面添加文件的时候一定要按照MakeFile里面显示的添加,否则会出错!!

解决了上述问题后就可以编译了,编译通过

之后进行测试,添加命令 路径,如下图:


添加完后编译运行,得到下图结果:


输入图片的路径就可以了:

但是我发现,有几张图片它没有正确的识别,不知道哪里出了问题,之后再解决。

续:

之前说有些物体它预测不出来,应该是tiny模型还没达到很精确。我之后用了官网上面257MB的那个weights,刚开始出现不能花出框框的问题,后来经大神指导发现是命令错误,这里还是要以官网的命令为主,有些博主可能会手误。

我用的命令:detect cfg\yolo.cfg weights\yolo.weights 

之后输入图片路径即可,得出的预测结果挺精确的。




注:出现问题一定要耐心解决,当然认识几个大神是必须的,不枉费我花了这么久搞这个东西,嗯呢,继续努力!

最好是在VS2013上弄,VS2010上面缺少一些宏,当然了最好用配置很好的电脑,不然就会像我这样出现各种问题

9 0
原创粉丝点击