一、配置环境

  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 配置(详细版)的更多相关文章

  1. 件测试博客日记Day03-11.17日 —— 赵天宇 —— 禅道的使用和配置详细版

    说在维基百科先查找关于禅道相关知识,发现有关于禅道这个项目管理软件的详细介绍,然后将相关的介绍进行整理写入文档,在禅道的介绍中也有下载地址并进行安装. (1)软件的基本情况 a.中文名称:禅道项目管理 ...

  2. 【神经网络与深度学习】YOLO windows 配置《Darknet配置》

    作者配置时的环境 visual studio 2013  显卡 GTX 960M  CUDA 7.5 OpenCV 2.4.9  pthreadpthread 下载地址 YOLO官网 [http:// ...

  3. R,RJAVA 安装配置 详细版

    准备工作 系统必须已经安装JDK 并配置好了环境变量. 注:安装的jdk  r  以及系统 尽量保持位数一致   1.下载 R https://mirrors.tuna.tsinghua.edu.cn ...

  4. MySQL5.7.25(解压版)Windows下详细的安装过程

    大家好,我是浅墨竹染,以下是MySQL5.7.25(解压版)Windows下详细的安装过程 1.首先下载MySQL 推荐去官网上下载MySQL,如果不想找,那么下面就是: Windows32位地址:点 ...

  5. Tomcat7.0.22在Windows下详细配置过程

    Tomcat7.0.22在Windows下详细配置过程 一.JDK1.7安装 1.下载jdk,下载地址:http://www.oracle.com/technetwork/java/javase/do ...

  6. SpringBoot整合Mybatis完整详细版二:注册、登录、拦截器配置

    接着上个章节来,上章节搭建好框架,并且测试也在页面取到数据.接下来实现web端,实现前后端交互,在前台进行注册登录以及后端拦截器配置.实现简单的未登录拦截跳转到登录页面 上一节传送门:SpringBo ...

  7. MySQL5.7免安装版配置详细教程

    MySQL5.7免安装版配置详细教程 一. 软件下载 Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的mysql免安装版的配置经验,要安装的朋友可以当做参考哦 mysql5.7 ...

  8. 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程

    01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...

  9. MySQL+PHP配置 Windows系统IIS版

    MySQL+PHP配置 Windows系统IIS版 1.下载 MySQL下载地址:http://dev.mysql.com/downloads/mysql/5.1.html->Windows ( ...

随机推荐

  1. Android实现截图分享qq,微信

    代码地址如下:http://www.demodashi.com/demo/13292.html 前言 现在很多应用都有截图分享的功能,今天就来讲讲截图分享吧 今天涉及到以下内容: android权限设 ...

  2. 仿网易/QQ空间视频列表滚动连播炫酷效果

    代码地址如下:http://www.demodashi.com/demo/11201.html 一.准备工作 AndroidStudio 开发环境 需要下载七牛的开源播放器SDK 本例子实现了仿网易/ ...

  3. java基础讲解11-----java中的异常

    1.java利用 try catch语句块捕获异常   2.finally语句  表示总是执行,不管程序是否异常 注意:1.在finally语句块异常  2.在前面的代码中使用Sysrtem.exit ...

  4. android 模拟器上传文件 Read-only file system

    在cmd窗口一条命令就可以了:adb shellmount -o remount rw /

  5. Memcached 教程

    http://www.runoob.com/memcached/memcached-tutorial.html

  6. BAT特殊字符(转)

    BAT特殊字符1. 点 与echo连用,作用是换行 示例1 [输出空行] echo. 2 > 定向符[输出] 将命令的输出进行重定向 [一般用于将结果写入文件] 注意 nul 为空设备 > ...

  7. C#颜色 Color.FromArgb ColorTranslator 16进制

    //方法1: //引用命名空间 using System.Drawing; 16进制颜色代码转Color类型:ColorTranslator.FromHtml(color); Color类型转16进制 ...

  8. [docker]docker压力测试

    内存测试 -m --memory-swap 内存+swap docker run -it --rm -m 200M --memory-swap=300M progrium/stress --vm 1 ...

  9. 新标准C++程序设计读书笔记_运算符重载

    形式 返回值类型 operator 运算符(形参表) { …… } 运算符重载 (1)运算符重载的实质是函数重载(2)可以重载为普通函数,也可以重载为成员函数 class Complex { publ ...

  10. 折腾gcc/g++链接时.o文件及库的顺序问题(转)

    转自: http://www.cnblogs.com/OCaml/archive/2012/06/18/2554086.html#sec-1-1 折腾gcc/g++链接时.o文件及库的顺序问题 Tab ...