本教程基于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_PATHexport 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
到此cuda和cudnn的就已经成功安装完成
4.配置opencv2.4.13
首先搭建依赖环境:
sudo apt-get install build-essential
其次下载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..编译opencvsudo 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/pkgconfigexport PKG_CONFIG_PATH保存后运行source ~/.bashrc5.配置并运行darknet下载darknet源码及文件git clone https://github.com/pjreddie/darknet.git若没有git运行sudo apt-get install git然后我们进入darknet文件夹cd darknet备份一份Makefilecp Makefile Makefile-bak接着修改Makefile中的参数修改GPU = 1CUDNN = 1OPENCV = 1然后知道找到NVCC=nvcc项更改为NVCC = /usr/local/cuda/bin/nvcc保存退出make -j12成功的话文件夹下会生成darknet可执行文件参考blog:https://blog.csdn.net/prototype___/article/details/79797611https://blog.csdn.net/gzj_1101/article/details/78651650https://blog.csdn.net/c406495762/article/details/62896035
