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
在文件尾部输入:
- export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
- 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重新编译,不报错即可。