首页 > 技术文章 > Darknet版YOLO安装与配置

jimchen1218 2019-11-06 14:29 原文

Darknet配置和安装

1. 安装显卡驱动

首先查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是怎样的驱动,这里我的显卡是 GTX 1080 Ti,所以以此为例说明,勾选好对应的配置:

 

点击search并下载驱动

打开terminal,卸掉系统原有驱动:

sudo apt-get remove --purge nvidia*

在安装新驱动前,禁用nouveau:

在终端中运行 lsmod | grep nouveau

若没有输出则nouveau已禁用;若有输出则说明nouveau正在运行,需要手动禁用:

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

在该文件尾部输入以下内容:

blacklist nouveau 
options nouveau modeset=0

保存并关闭文件。

在终端中执行:sudo update-initramfs -u

再次运行 lsmod | grep nouveau 检查nouveau是否禁用,若未禁用则重复上述操作。

关闭图形化界面:sudo service lightdm stop

按Ctrl + Alt + F1 进入字符终端页面,

进入驱动所在的目录,运行:

 sudo sh 驱动名

安装完之后重启: sudo reboot

打开终端输入命令: nvidia-smi, nvidia-settings查看驱动安装状态:

 

 

2. 安装CUDA 9.0

sudo sh cuda_9.0.176_384.81_linux.run

是否Accept EULA:Accpet

Install driver:Yes/No

Install OpenGL:No

Run nvidia_xconfig: No

Install Cuda Toolkit: Yes

Yes

Yes

配置CUDA的环境变量:

sudo gedit ~/.bashrc

在文件尾部输入:

  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH  
  2.   
  3. export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH  

运行source ~/.bashrc 使其生效

 

3. 配置 Cudnn

下载Cudnn并解压:

tar -zxvf cudnn-7.0-linux-x64-v3.0-prod.tgz

解压后会看到一个cuda文件夹,里面包含了include以及lib64两个子目录。我们需要做的就是将这两个字母里面的文件复制到cuda对应的安装目录。这里以cuda的安装目录为/usr/local/cuda/,这个目录下也会包含include/以及lib64/这两个文件夹,将之前目录的文件复制过来即可。

sudo cp cuDNN/cuda/include/cudnn.h /usr/local/cuda/include

sudo cp cuDNN/cuda/lib64/* /usr/local/cuda/lib64/

 

这时候本来已经可以了,但是由于权限的原因原来的两个符号链接文件(libcudnn.so,libcudnn.so.7.0)已经失效了,直接编译便会报错,所以这时手动生成符号链接。

#下面的操作在/usr/local/cuda/lib64/目录下进行

sudo rm -rf libcudnn.so libcudnn.so.7.0#删除两个符号链接;

sudo ln -s libcudnn.so.7.0.64 libcudnn.so.7.0

sudo ln -s libcudnn.so.7.0 libcudnn.so

 

运行source ~/.bashrc 使其生效

如果出现下面问题:

/sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link

则参考如下解决方法,版本需对应安装的cudnn的相应版本(link:https://askubuntu.com/questions/1025928/why-do-i-get-sbin-ldconfig-real-usr-local-cuda-lib64-libcudnn-so-7-is-not-a):

sudo rm libcudnn.so

sudo ln libcudnn.so.7.0.5 libcudnn.so.7

sudo ln libcudnn.so.7 libcudnn.so

sudo ldconfig

Cudnn配置完毕

 

4.Opencv的安装与配置(Darknet框架需要安装配置opencv,编译darknet环境)

4.1. 安装编译工具、依赖包和可选包:

sudo apt-get update
    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 #可选包

4.2. 在opencv官网下载源码,解压后新建release文件夹并编译opencv环境:

cd opencv-2.4.13.5
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    make -j8 #可根据自己电脑的性能 开启多线程
    sudo make install

4.3. 更新动态链接库

sudo ldconfig

4.4. 测试(命令行中启动python,输入 import cv2 不报错即可)

 

5.安装Darknet

5.1. 首先将github上的项目克隆到本地:

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

5.2. 进入darknet目录构建项目:

cd darknet
make

5.3. 进入darknet文件夹,打开Makefile,将GPU、CUDNN、OPENCV的值改成1,保存并退出。

5.4. 输入make clean 清除之前编译的darkent环境,输入make重新编译,不报错即可。

推荐阅读