Ubuntu环境下配置darknet

本教程基于Linux物理机进行相关配置,要求物理机中包含N卡且Capbility>=3.0,小于3.0(Fermi架构)只允许配置cuda,不能配置使用Cudnn:

本教程分为:

1.安装NVIDIA驱动(默认使用nvidia-384)

2.安装cuda加速工具

3.安装cudnn

4.配置opencv2.4.13

5.配置并运行darknet



1.安装NVIDIA驱动:

打开终端输入

sudo apt-get install nvidia-384

等待安装结束

重启物理机,输入nvidia-smi,若终端能显示

明安装成功

2.安装cuda:

前往Cuda官网下载Cuda8.0的相关程序

网址为https://developer.nvidia.com/cuda-80-ga2-download-archive

之所以选择这个版本是因为对于TensorFlow等相关工具也试用,不会出现cuda等级过高的问题

相关程序在压缩文件中也将会打包一份(我下载的是.run文件,避免了软件源更新失败无法安装的问题)

接着我们按住CTRL+ALT+F1,进入非图形化界面

执行

sudo service lightdm stop

关闭图形化界面(检测的时候使用(CTRL+ALT+F7),若无法返回桌面,表示图形化桌面正常关闭)

进入down好的cuda文件的所在文件夹sudo sh cuda_8.0.61_375.26_linux.run –no-opengl-libs

同意相关协议后,会弹出是否安装NVIDIA驱动,我们选择no,我们已经安装过了384版本的NVIDIA驱动,故无需安装cuda中配带的驱动
然后其他按照默认执行,当代码结束后,执行sudo reboot重启命令
重启后,配置cuda环境变量
sudo gedit ~/.bashrc
在该文件最后加入两行并保存
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH
退出后在终端中输入
source ~/.bashrc
使环境生效
在终端中重新敲入nvcc -V判断是否安装成功

图表示安装成功,此时cuda已经安装完成,然后我们可以进入/usr/local/cuda-8.0/samples/1_Utilities/deviceQuery 查看自己的显卡运算能力 运行 sudo make 编译完成后运行 ./deviceQuery 最后一行显示pass表示cuda安装成功,第二行显示的是显卡各个Sp的运算能力








图表明显卡运算能力是2.1,成功安装好cuda

3.安装cudnn:

Cudnn能够基于cuda的基础上再加速十倍附近的效果,但是要求显卡运算能力必须达到3.0以上才可以配置,否则虽然预测效果快但是无法出现效果。

https://developer.nvidia.com/rdp/cudnn-download #cudnn下载网址

我们选择.V5.1版本cudnn配对于cuda8.0

在终端输入:

sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件

cd ../lib64 #打开lib64目录

sudo cp lib* /usr/local/cuda/lib64/ #复制库文件

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* #给所有用户增加这些文件的读权限

建立软连接:


cd /usr/local/cuda/lib64/

sudo rm -rf libcudnn.so libcudnn.so.5

sudo ln -s libcudnn.so.5.1.3 libcudnn.so.5

sudo ln -s libcudnn.so.5 libcudnn.so


设置环境变量,终端输入

sudo gedit /etc/profile 

在代码末尾加入

PATH=/usr/local/cuda/bin:$PATH export PATH

进行相关环境配置:

sudo gedit /etc/ld.so.conf.d/cuda.conf(该目录下原先不存在该文件)

输入

/usr/local/cuda/lib64

保存退出

输入

sudo ldconfig

到此cudacudnn的就已经成功安装完成


4.配置opencv2.4.13

首先搭建依赖环境

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

其次下载opencv

sudo wget https://github.com/Itseez/opencv/archive/2.4.13.zip

解压后进入opencv-2.4.13文件夹

输入

mkdir release

创建release文件夹

cd release

cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local..
编译opencv
sudo make -j4
安装
sudo make install
设置相关路径:
sudo gedit /etc/ld.conf.d/opencv.conf
此文件原来也是不存在的
添加上
/usr/local/lib 
保存
运行
sudo ldconfig
配置环境:
sudo gedit ~/.bashrc
在文件最后加上环境变量
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/pkgconfig
export PKG_CONFIG_PATH
保存后运行
source ~/.bashrc

5.配置并运行darknet
下载darknet源码及文件
git clone https://github.com/pjreddie/darknet.git
若没有git运行
sudo apt-get install git
然后我们进入darknet文件夹
cd darknet
备份一份Makefile
cp Makefile  Makefile-bak
接着修改Makefile中的参数
修改
GPU = 1
CUDNN = 1
OPENCV = 1
然后知道找到NVCC=nvcc
更改为
NVCC = /usr/local/cuda/bin/nvcc
保存退出
make -j12
成功的话文件夹下会生成darknet可执行文件

参考blog:
https://blog.csdn.net/prototype___/article/details/79797611
https://blog.csdn.net/gzj_1101/article/details/78651650
https://blog.csdn.net/c406495762/article/details/62896035



posted @ 2019-03-01 16:39  小小小二  阅读(2506)  评论(0编辑  收藏  举报