Yolo+Windows 配置(详细版)
一、配置环境
VS2013+显卡GtX1080ti+CUDA7.5+Opencv3.1.0+pthread
pthread:ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip
YOLO:http://pjreddie.com/darknet/yolo
Darknet:https://github.com/pjreddie/darknet
二、配置步骤
1、新建vs工程:删除新建后的自带的kernel.cu
2、为了方便调试,将工程设置为Release x64模式
3、在工程下添加三个文件夹,分别命名为c,h,cu。这里需要注意:需要添加的文件位置在 darknet的src以及examps中,具体添加文件根据darknet中的Makefile里面所显示的来添加文件。因为YOLO会随时更新,别人的文件可能和你不一致。
下面是我的Makefile文件中需要添加的文件:
添加的.c和.h文件
OBJ=gemm.o utils.o cuda.o deconvolutional_layer.o convolutional_layer.o list.o image.o activations.o im2col.o col2im.o blas.o crop_layer.o dropout_layer.o maxpool_layer.o softmax_layer.o data.o matrix.o network.o connected_layer.o cost_layer.o parser.o option_list.o detection_layer.o route_layer.o box.o normalization_layer.o avgpool_layer.o layer.o local_layer.o shortcut_layer.o activation_layer.o rnn_layer.o gru_layer.o crnn_layer.o demo.o batchnorm_layer.o region_layer.o reorg_layer.o tree.o lstm_layer.o
EXECOBJA=captcha.o lsd.o super.o voxel.o art.o tag.o cifar.o go.o rnn.o rnn_vid.o compare.o segmenter.o regressor.o classifier.o coco.o dice.o yolo.o detector.o writing.o nightmare.o swag.o darknet.o
添加的.cu文件
OBJ+=convolutional_kernels.o deconvolutional_kernels.o activation_kernels.o im2col_kernels.o col2im_kernels.o blas_kernels.o crop_layer_kernels.o dropout_layer_kernels.o maxpool_layer_kernels.o network_kernels.o avgpool_layer_kernels.o
4、接下来是添加包含目录、依赖库等:CUDA7.5,opencv3.1.0,pthread
5、上面都配置完之后进行编译,会出现很多错误,这里对遇到的错误进行总结下:
a、将出现#include<src/time.h>处都改成#include<time.h>
b、删除#include<unisd.h>,这是linux下的头文件
c、在用到inline的文件中,都在前面添加#define inline _inline
d、“error C2079: “tval_before”使用未定义的 struct“timeval””:在出现类似结构体错误的文件头添加
“
#ifdef WIN32
# include <windows.h>
#else
# include <sys/time.h>
#endif
”
e、“error C2275: “image”: 将此类型用作表达式非法”:在出现类似错误时,只需将该类型定义的变量语句放在函数头即可
如下:
对于定义指针时,类型用作表达式非法,只需要在函数头初始化指针为NULL即可,例如:image *p=NULL
d、在utils.c文件中,出现错误:“error C2036: “void *”: 未知的大小”:只需要在void*类型的变量前,添加相应的类型即可
e、会出现snprintf,popen,pclose,sleep无法解析的问题,这里只要将snprintf改成_snprintf或者在预编译处加入
#if _MSC_VER
#define snprintf _snprintf
#endif
即可,然后把popen,pclose,sleep改成_popen,_pclose,_sleep。问题就可以解决
f、出现“error LNK2001: 无法解析的外部符号"gettimeofday"&"timersub"”:解决方法是在文件头部添加gettimeofday和timersub函数的声明。具体声明如下:
#ifdef WIN32
int gettimeofday(struct timeval *tp, void *tzp)
{
time_t clock;
struct tm tm;
SYSTEMTIME wtm;
GetLocalTime(&wtm);
tm.tm_year = wtm.wYear - ;
tm.tm_mon = wtm.wMonth - ;
tm.tm_mday = wtm.wDay;
tm.tm_hour = wtm.wHour;
tm.tm_min = wtm.wMinute;
tm.tm_sec = wtm.wSecond;
tm.tm_isdst = -;
clock = mktime(&tm);
tp->tv_sec = clock;
tp->tv_usec = wtm.wMilliseconds * ;
return ();
} void timersub(struct timeval *a, struct timeval *b, struct timeval *res)
{
res = a - b;
}
#endif
g、出现“错误 1095 error LNK2019: 无法解析的外部符号 curandSetPseudoRandomGeneratorSeed”:解决方法是在包含的头文件中添加:
#pragma comment(lib, "cudart.lib")
#pragma comment(lib, "curand.lib")
即可。
h、出现“error C2065: “CLOCK_REALTIME”: 未声明的标识符”:直接将那句话注释掉即可
i、注意前面添加文件时,一定要按照Makefile里面显示的添加,否则会出错!
6、编译成功后,就可以进行测试了,添加命令路径:
detect D:/gaokun/YOLO/darknet/cfg/yolo.cfg D:/gaokun/YOLO/darknet/yolo.weights
此时,还需要对darknet.c文件中的部分内容进行修改:
还需要对detector.c中的路径进行修改:
对image.c的内容进行修改:
注意:修改完上述文件后,需重新编译yolo-windows-master。然后再加入命令行调试参数,进行调试。
调试时,取消对包含“CLOCK_REALTIME”的语句的注释(错误h)。
7、以下是部分测试结果:
参考博客:http://blog.csdn.net/xiaoye5606/article/details/62439298
后续会更新用YOLO来训练自己的数据等内容。
Yolo+Windows 配置(详细版)的更多相关文章
- 件测试博客日记Day03-11.17日 —— 赵天宇 —— 禅道的使用和配置详细版
说在维基百科先查找关于禅道相关知识,发现有关于禅道这个项目管理软件的详细介绍,然后将相关的介绍进行整理写入文档,在禅道的介绍中也有下载地址并进行安装. (1)软件的基本情况 a.中文名称:禅道项目管理 ...
- 【神经网络与深度学习】YOLO windows 配置《Darknet配置》
作者配置时的环境 visual studio 2013 显卡 GTX 960M CUDA 7.5 OpenCV 2.4.9 pthreadpthread 下载地址 YOLO官网 [http:// ...
- R,RJAVA 安装配置 详细版
准备工作 系统必须已经安装JDK 并配置好了环境变量. 注:安装的jdk r 以及系统 尽量保持位数一致 1.下载 R https://mirrors.tuna.tsinghua.edu.cn ...
- MySQL5.7.25(解压版)Windows下详细的安装过程
大家好,我是浅墨竹染,以下是MySQL5.7.25(解压版)Windows下详细的安装过程 1.首先下载MySQL 推荐去官网上下载MySQL,如果不想找,那么下面就是: Windows32位地址:点 ...
- Tomcat7.0.22在Windows下详细配置过程
Tomcat7.0.22在Windows下详细配置过程 一.JDK1.7安装 1.下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/do ...
- SpringBoot整合Mybatis完整详细版二:注册、登录、拦截器配置
接着上个章节来,上章节搭建好框架,并且测试也在页面取到数据.接下来实现web端,实现前后端交互,在前台进行注册登录以及后端拦截器配置.实现简单的未登录拦截跳转到登录页面 上一节传送门:SpringBo ...
- MySQL5.7免安装版配置详细教程
MySQL5.7免安装版配置详细教程 一. 软件下载 Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的mysql免安装版的配置经验,要安装的朋友可以当做参考哦 mysql5.7 ...
- 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程
01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...
- MySQL+PHP配置 Windows系统IIS版
MySQL+PHP配置 Windows系统IIS版 1.下载 MySQL下载地址:http://dev.mysql.com/downloads/mysql/5.1.html->Windows ( ...
随机推荐
- (一)Solr——简介和安装配置
1. solr简介 1.1 Solr是什么 Solr是apache的顶级开源项目,它是使用java开发 ,基于lucene的全文检索服务器. Solr和lucene的版本是同步更新的,最新的版本是7. ...
- CV-视频分析:静态背景下的运动检测
ref : Chapter 2 Motion Detection in Static Backgrounds. [ Github :…… ] -------------------------- ...
- HTML5学习笔记 视频
许多时髦的网站都提供视频.html5提供了展示视频的标准 检测您的浏览器是否支持html5视频 Web上的视频 直到现在,仍然不存在一项旨在网页上显示视频的标准. 今天,大多数视频是通过插件(比如Fl ...
- Bootstrap学习笔记面板(Panels)
本文将讲解Bootstrap面板(Panels).面板组件用于把DOM组件插入到一个盒子中.创建一个基本的面板,只需要向div元素添加class .panel和 panel-default即可,如下面 ...
- 【ASP.NET MVC系列】详解View
本篇文章内容属于ASP.NET MVC系列视图篇,主要讲解View,大致内容如下: 1.Views文件夹讲解 2.View种类 3.Razor语法 4.对视图的基本操作 一 Views文件夹 (一 ...
- Rabbitmq消息队列(三) 工作队列
1.简介 默认来说,RabbitMQ会按顺序得把消息发送给每个消费者(consumer).平均每个消费者都会收到同等数量得消息.这种发送消息得方式叫做——轮询(round-robin). 工作队列(又 ...
- unity prefab使用原则
prefab可无限apply: 如果把一个模块做成了prefab,这个prefab可能在同一个scene中添加多个,甚至添加到了多个scene中.设所有这些实例为instance(1),instanc ...
- 用jquery制作一个简单的导航栏
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- ajax请求的data数据格式
ajax提交data类型 一.问题来源 今天使用ajax时,发现get传data时,传递json字符串时传不过去参数,所以做了一些实验测试ajax的get和post的传递data时的不同. 二.概念 ...
- 完工尚需绩效指数 TCPI
转自:http://www.cnblogs.com/allenblogs/archive/2010/12/09/1901404.html TCPI To Complete Performance In ...