在window下搭建Darknet环境

 

背景说明:Darknet是一个完全开源的深度学习框架,完全由C语言实现!原作者在实现时是在Linux环境完成开发调试的,因此很多嵌入式终端可以很方便的移植Darknet的深度模型。大部分深度学习框架都可以分为模型的训练与应用两部分。训练一般需要使用GPU加速,需要大型工作站跑模型。应用部分则只需要模型加载预测就好了,这一部分可以单独在小本本上开发就好了(很多Darknet开发是针对嵌入式设备的,其计算能力一般比小本本要小,所以可以在小本本上开发应用足够了)。而目前大部分笔记本都是用window系统的,所以为了享受源码一件make的快感,我们需要在window下搭建有一个linux编译环境!在这里,我们使用Msys2搭建linux环境,并完成Darknet源码的编译(无GPU!),经过实测,在Msys2中编译过程与在Ubuntu中的完全一些,同一份代码不用任何修改,两边都能一键make!具体操作如下:

1、Msys2安装

MSYS2 是MSYS的一个升级版,准确的说是集成了pacman和Mingw-w64的Cygwin升级版, 提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64 工具链。可以在Windows下实现Linux编译环境!

(1) MSys2,下载地址http://www.msys2.org/。根据不同电脑选择响应的版本,64位系统选择 msys2-x86_64-xxxx.exe。

(2) 添加环境变量,在系统属性-高级-环境变量-系统变量-Path 中 添加C:\msys64\usr\bin

(3) 如linux般,添加开源就像网站,在C:\msys64\etc\pacman.d\mirrorlist.mingw64 中添加清华镜像网站:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/

添加后如下所示

(4) 测试一下软件源是否可用

配置完成之后,再打开 MSys2。执行以下代码

pacman -Sy

如果看到了以下几句,说明没有问题:

正在同步软件包数据库...
 mingw32 已经是最新版本
 mingw64 已经是最新版本
 msys 已经是最新版本

 (5) 更新核心软件包,执行以下代码

pacman -Su

这句命令意为更新所有软件。 运行的时候会出现一行文字,询问是否继续。输入Y,然后回车,下同。 完成以后关闭MSys2。 在安装目录下找到 autorebase.bat,双击运行。 

(6) 再打开 Msys2。安装gcc、gdb、make,分别执行

pacman -S gcc
pacman -S gdb
pacman -S make

测试一下make:

make -v

显示类似如下内容说明安装成功:

GNU Make 4.2.1
为 x86_64-pc-msys 编译
Copyright (C) 1988-2016 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第 3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律允许的范围内没有其他保证。

再测试一下gcc

gcc -v

显示类似如下内容说明安装成功:

使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-msys/6.3.0/lto-wrapper.exe
目标:x86_64-pc-msys
配置为:/msys_scripts/gcc/src/gcc-6.3.0/configure --build=x86_64-pc-msys --prefix=/usr --libexecdir=/usr/lib --enable-bootstrap --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --with-arch=x86-64 --with-tune=generic --disable-multilib --enable-__cxa_atexit --with-dwarf2 --enable-languages=c,c++,fortran,lto --enable-graphite --enable-threads=posix --enable-libatomic --enable-libcilkrts --enable-libgomp --enable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --disable-win32-registry --disable-symvers --with-gnu-ld --with-gnu-as --disable-isl-version-check --enable-checking=release --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible
线程模型:posix
gcc 版本 6.3.0 (GCC)

如此便完成了,windows下Linux的开发环境的搭建

2、编译Darknet,可以在github上下载最新版本的Darknet源码

(1)下载darknet源码 https://github.com/pjreddie/darknet

(2)在window命令窗口中cd到darknet源码目录,make -j,效果如下

编译成功!根目录下生成 darknet.exe、libdarknet.so、libdarknet.a 三个文件,与linux下编译结果一致!

执行测试命令

.\darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/person.jpg

命令执行成功,在当前目录下生成图像如下,结果输出与预期相符,说明make出来的exe确实是可以执行的!

3、关于代码编辑器

本文提供的开发环境已经和Linux下的开发流程基本一致,所以代码编辑器可以挑选自己熟悉的来,例如SourceInsign,VScode等等。推荐使用VScode!因为他有非常丰富的扩展插件,比如github插件,SSH插件,并且可以将cmd窗口集成,提供类似python的开发界面,非常方便。一个使用方法是,本地调试好代码,通过git插件push到github仓库,然后通过SSH远程接入Linux主机,cd到项目路径Pull下刚刚更新的代码,。。。。。

 

 

 

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘子都吃不起!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值