yolo专属深度学习框架darknet的安装记录

 

darknet开源地址:https://github.com/pjreddie/darknet

darknet作者维护官网:https://pjreddie.com/darknet/

darknet作者给出的安装教程:https://pjreddie.com/darknet/install/

 

darknet是yolo算法的作者Joseph Redmon使用c语言编写的一个开源卷积神经网络训练框架

如果项目中用到了yolo,darknet框架是你的不二之选

一、Linux下安装darknet  

 ctrl+T打开一个linux终端,输入以下命令

git clone https://github.com/pjreddie/darknet.git

这条命令将会从github上克隆darknet最新的版本文件到当前目录下

你也可以先通过cd命令进入到指定的目录下,再使用git clone命令

 

 出现错误,未安装git,按照提示进行修复

sudo apt-get update
sudo apt install git

 成功clone到本地,可以在主目录下看到darknet文件夹


 

 下面开始编译,先安装make

sudo apt install make
sudo apt install make-guile

 又出现错误了,按照网上教程,删除这两个文件

sudo rm -r -f /var/lib/dpkg/lock-frontend
sudo rm -r -f /var/lib/dpkg/lock
sudo rm -r -f /var/cache/apt/archives/lock
sudo rm -r -f /var/cache/apt/archives

 

依次安装make和make-guile,也可以只安装make,安装完成如下

执行make命令,出现错误,gcc也没安装

原谅这是我是刚安装好的linux,只安装了一个搜狗输入法和wps

sudo apt install gcc

再执行make命令进行编译,结果发现g++也没安装,

此时已经出现了太多的错误,但这对于我这样的新手来说error是家常便饭

根据《论程序员的自我修养》一书,我们也不能摔键盘,要静下心来查错,继续安装

sudo apt install g++

再次执行make,终于成功了

 安装完成后,darknet文件目录下多出了一些文件

测试安装结果

./darknet

当出现图中所示结果时,说明我们已经能够使用darknet框架,可以开始yolo训练之旅了

我们可以先使用imtest例程测试图像加载和显示,看一下效果

./darknet imtest data/eagle.jpg

出现了一堆长相一样的老鹰的图像,测试成功

根据提示信息,发现我们没有安装OpenCV

我们最好安装一下OpneCv,除非你有理由不想安装,因为这样可以方便的处理各种格式的图像

如果不安装OpenCV,直接跳到第三步,也是可以使用darknet的

二、OpenCV安装

详细教程可参考:https://www.cnblogs.com/zzy1024/p/11405641.html

执行cd命令,跳转到指定目录下

1、从github上克隆OpenCV核心库到本地

cd ..
git clone https://github.com/opencv/opencv.git

当发现下载速度比较慢的时候可以考虑直接从github上下载zip文件到本地

下载地址:https://github.com/opencv/opencv

 

2、克隆OpenCV的扩展库OpenCV_Contrib到本地,如果不安装扩展库,也是可以使用OpenCV的,但是建议安装

git clone https://github.com/opencv/opencv_contrib.git

同样,如果觉得下载过慢,可以直接到github下载zip文件到本地 

github 下载地址:https://github.com/opencv/opencv_contrib

 

移动扩展库文件到opencv目录下,并提取文件(解压)

注意文件名后缀,git clone时没有master后缀,使用zip下载时有master后缀

 

3、添加opencv所需要的依赖库

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

第一条命令安装了一个build-essential库,可以方便的进行编译

编译程序有了这个软件,它才知道头文件和库函数在哪,最后才形成一个开发环境。

第二条命令安装了一个cmake、git等等软件,其中cmake是一个跨平台的编译工具

第二条命令安装了一些库,包括python等等

如果执行第三条安装命令时出错,再执行下面的命令解决

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update

 

再执行第三条命令

4、开始编译OpenCV

在opencv目录下创建文件夹 build(可以根据自己习惯命名)

cd opencv
mkdir build
cd build

 在编译前查看opencv_contrib文件夹名称,如果采用git下载,那就是这个名称

如果是zip下载后解压,文件名就是opencv_contrib_master,可以考虑重命名为opencv_contrib

使用cmake编译opencv_contrib扩展库源文件到当前目录下

注意命令中结尾的扩展库源文件名要与实际保持一致,请自行确认

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

 

 编译成功 

 使用make编译opencv

cd opencv/build
make

 编译过程非常漫长,如果处理器有多个核的话,可以使用以下命令加快编译速度

make -j8

参数8代表使用8核,根据自己的硬件情况选择 ,make命令默认使用1核

 make编译成功

 注意:可能会发生internal compiler error: Killed (program cc1plus)错误

这是因为虚拟机内存不足,可以考虑暂时给虚拟机分配大一点的内存,编译完成后再恢复原来的设置

安装python接口

sudo apt-get install python-opencv

5、测试安装结果

python
import cv2

 当没有出现任何错误提示时,表示我们可以在python程序中使用OpenCV了

 

三、yolo下载

 如果安装了OpenCV,打开darknet目录下的Makefile文件,将第三行改为OPENCV=1

在darknet-->cfg目录下(config的缩写),可以看到yolo模型各种版本的配置文件

 

只有配置文件还不行,需要下载yolo网络训练权重文件

我们下载yolov3的权重文件(已经训练好的文件),执行以下命令

cd darknet
wget https://pjreddie.com/media/files/yolov3.weights

权重文件237MB左右,同样,如果觉得下载过慢,可以使用一些下载工具,比如xdown,复制链接,下载即可

再从windows下复制粘贴文件到darknet目录下

当然你可以放在任意位置,但是要记住它的路径,因为后面需要用到这个文件

 

回过头来,在darknet->data文件夹下有几张示例图片,比如这张经典的小狗

我们将尝试使用刚才下载的yolov3权重文件和yolov3的配置文件对这张小狗进行检测

运行一下检测效果

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

 上面的命令表示:运行darknet框架进行检测,其中

配置文件为darknet/cfg/yolo3.cfg

权重文件为darknet/yolov3.weights

待检测图片为darknet/data/dog.jpg

 

输出检测图片默认保存在darknet下

下面是见证奇迹的时刻

 

识别到三个物体,分别是dog、truck、bicycle,花费时间33秒左右,如果使用GPU,这个时间要短一些

保存的图片在darknet目录下,名字为predictions.jpg

你可以尝试使用data目录下的其他图片进行检测

 

未完待续,下一节我们将讨论yolo模型的一些理论知识

 

附1 xdown下载链接(只支持windows):https://xdown.org/

 

 

附2 XDM下载链接(支持windows、linux、mac)https://subhra74.github.io/xdm/ 

 安装命令:

#进入文件所在目录,根据自己情况修改
cd 下载/xdm-setup-7.2.10

#运行安装脚本
sudo sh install.sh

 

双击启动XDM

新建一个下载任务,粘贴下载链接

 

附3:Chrome浏览器的中文翻译

进行深度学习时,我们不可避免的会浏览英文网页,对于英语基础不是很好的朋友来说,这似乎是一种痛苦。

所以我推荐使用Chrome浏览器,因为在浏览英文网页时,鼠标右键可以看到翻译中文模式,如下

但是我还是建议大家克服英语的恐惧,从一些常见的单词慢慢熟悉,通过单词翻译软件,有意识的记忆,

日积月累,英语网页的阅读速度会慢慢提高

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章