darknet在windows上的安装编译与使用

时间:2022-09-16 17:10:19

darknet(https://github.com/pjreddie/darknet)实现了YOLO网络模型,能快速准确识别多达9000种物体。但其在windows系统上的安装却并非一帆风顺,本文进行总结,以免掉坑。

1,操作系统环境

Windows7 64位操作系统,无gpu

2,下载darknet

在网站https://github.com/pjreddie/darknet上,点击“clone or download”,然后选择“download ZIP”,下载为文件darknet-master.zip。解压到“F:\test\git-src\darknet-master”目录。

3,下载安装Cygwin

参照以下文章“windows 安装cygwin教程”进行安装。

https://blog.csdn.net/chunleixiahe/article/details/55666792

重点:

²        寻找映像文件时,要选择国内快速站点。比如下文推荐的sohu镜像(http://mirrors.sohu.com/cygwin/)。笔者就是采用它,安装非常快速。

https://blog.csdn.net/u011393033/article/details/51766876

²        选择组件时,要加上devel目录下的make组件,否则无法执行make命令。

²        记得添加windows环境变量,最好将cygwin\bin放到path开头。

4,编译darknet

进入Cygwin64 Terminal,目录转移到F:\test\git-src\darknet-master,然后执行make。

darknet在windows上的安装编译与使用

结束后,会产生darknet.exe、libdarknet.a、libdarknet.so文件。

注意:

²        编译darknet源码不能采用mingw,要采用cygwin。笔者首先安装的是mingw组件包,结果在编译时出现大量头文件不存心的错误。

²         执行make前要先删除已存在的obj目录。由于笔者曾经采用过mingw进行编译,虽然失败未生成libdarknet.so文件,但obj目录下生成不少.o目标文件,此时如果直接用cygwin执行make,会出现大量莫名错误。如“对‘_XXX’未定义的引用”、/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld: i386 架构于输入文件 libdarknet.a(shortcut_layer.o) 与 i386:x86-64 输出不兼容

²         Examples\Go.c 文件需要修改,要加上“#include <sys/select.h>”,否则编译出错

5,使用darknet

Darknet的使用可参考如下官方网址:https://pjreddie.com/darknet/

笔者测试的是最新的yolo V3模型,具体参见:

https://pjreddie.com/darknet/yolo/

输入如下命令:

darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

darknet在windows上的安装编译与使用

其中“dog.jpg”如下图所示。YoloV3虽然花费时间28秒久了点,但对图中的自行车、狗和卡车实现了完美识别。

darknet在windows上的安装编译与使用

打开生成的predictions.png文件如下,至此Yolo在windows上的应用取得成功。

darknet在windows上的安装编译与使用

darknet在windows上的安装编译与使用的更多相关文章

  1. jinkins在windows上的安装 配置C&num;编译

    首先jinkins在windows上的安装就不说,安装只需要下载相应安装包就可以了,后有些时候经常需要修改端口号.修改如下: 然后重启jenkins服务 首次运行界面 个人建议插件按需安装. 建立一个 ...

  2. (转)windows上virtualenv 安装及使用

    [注意]要在某个含有空格的目录下面创建virtualenv环境,就要安装 win32api . 原文地址:http://blog.csdn.net/liuchunming033/article/det ...

  3. git在windows上的安装和简单使用

    git在windows上的安装和简单使用. 参考: https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E ...

  4. Windows上PostgreSQL安装配置教程

    Windows上PostgreSQL安装配置教程 这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PostgreSQL的 ...

  5. windows上pip安装及使用详解

    windows上pip安装及使用详解 2018-11-21 19:49:58 十二笔 阅读数 8229更多 分类专栏: Python学习   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...

  6. Windows上Tomcat安装以及解决乱码问题

    Windows上Tomcat安装以及解决乱码问题 下载tomcat8 1.进入tomcat官网 官方网站 2.选择windows的版本 解压 确定自己配置好了jdk jdk的相关配置 配置好tomca ...

  7. EJBCA 在windows上的安装

    为了做EJBCA的封装測试,在我自己电脑上装了个,可是在国内的开发上面的介绍实在是太少.有的也仅仅是些傻瓜式的安装介绍,这是介绍在Windows上安装的过程,(后面介绍下 linux 红帽上的),有些 ...

  8. node&period;js在ubuntu上和windows上的安装

    Ubuntu 上安装 Node.js Node.js 源码安装 以下部分我们将介绍在Ubuntu Linux下安装 Node.js . 其他的Linux系统,如Centos等类似如下安装步骤. 在 G ...

  9. MongoDB 3&period;2 在windows上的安装

    翻译自 https://docs.mongodb.org/master/tutorial/install-mongodb-on-windows/ 在windows上安装 MongoDB 平台支持:从M ...

随机推荐

  1. ArrayList、Vector、LinkedList的区别联系?

    1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...

  2. Mybatis 3&period;3&period;0 Log4j配置

    最近做一个SSM学习项目,配置log4j,mybatis用下面的方式配置,不管用,打印不出执行的SQL语句. log4j.logger.java.sql.Connection=DEBUGlog4j.l ...

  3. HTML5 挖宝

    http://geek.csdn.net/news/detail/91536 http://mozilla.com.cn/thread-360325-1-1.html

  4. 让你提前认识软件开发&lpar;17&rpar;:makefile文件的书写及应用

    第1部分 又一次认识C语言 makefile文件的书写及应用 [文章摘要] makefile用于Linux下整个project的编译.对于Linux下的C/C++语言的编译是至关重要的. 本文以实际的 ...

  5. memcache command

    http://www.cnblogs.com/jeffwongishandsome/archive/2011/11/06/2238265.html

  6. 深刻认识shift&lowbar;ram IP core——图像处理学习笔记

    在进行图像处理算法中,往往需要生成图像像素矩阵,这对于C语言来说可以直接用数据表示,但是对于verilog来说便不是那么容易了,硬件描述语言不比软件,它的核心不再算法,而是在于设计思想,加速硬件.在进 ...

  7. MVC bootstrap-table显示数据时显示No matching records found

    问题:bootstrap-table加载数据不显示 @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layou ...

  8. 我了解到的新知识之--GDPR

    2018年5月25日GDPR正式实施,但是一直也是一知半解,今天偶然翻看到一篇企业撰写的关于GDPR的公众号文章,随即去网络上搜索了以下. 大家可以参考如下链接连接过于GDPR的细节,GDPR包括序言 ...

  9. python中assert详解

    assert基础 官方解释:"Assert statements are a convenient way to insert debugging assertions into a pro ...

  10. 之手算KD-tree

    转自:https://zhuanlan.zhihu.com/p/27453420 本文来源于Machine Learning: Clustering & Retrieval | Courser ...