背景
新的ubuntu机器安装显卡驱动,并且安装t4显卡的驱动,cuda,cudnn,然后编译darknet,并且使用darknet训练模型的一系列前置工作,需要耗时一天的。
参考资料
https://zhuanlan.zhihu.com/p/93480024 cmake升级
解决方案
驱动
下载nvidia历史版本的驱动:https://www.nvidia.cn/Download/Find.aspx?lang=cn
cuda
使用.deb文件安装cuda的好处是可以在安装的同时,附带安装NVIDIA的显卡驱动.(PS:这个也是现在才发现的),用.run文件安装cuda的适用情况是:自己已经提前安装好了显卡驱动,此时安装cuda的时候就不用安装显卡驱动了.多看看资料中的”82751815“这篇文章。
1.卸载用run安装的cuda和驱动
sudo perl /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl #uninstall cuda
sudo /usr/bin/nvidia-uninstall #uninstall driver
2.下载deb文件,并且不要关闭deb文件的下载页面有完整的安装方法,模板如下:
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
$ sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda
3.配环境变量
sudo gedit ~/.bashrc
# 在打开的文件中添加两行内容
# 第一行是export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
# 第二行是LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 点击保存后关闭文件
$ source ~/.bashrc
4.确认驱动+cuda安装成功,执行如下命令:
cat /proc/driver/nvidia/version
nvidia-smi # 查看显卡的使用情况
nvcc -V # 查看cuda的版本
看到对应的界面,就说明正确了。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yN3MzN0EjNjZTM1cjY1I2NzYzX1ITNwkTMxIzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
cudnn
下载cudnn的运行时版本,注意与你的cuda版本严格对应,发行日期最好也对应。
下载完tar文件之后,解压,然后复制对应文件到cuda目录:
tar -xzvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
sudo cp cuda/include/* /usr/local/cuda-10.2/include
sudo cp cuda/lib64/* /usr/local/cuda-10.2/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
我的习惯是cudnn 两个文件夹下的内容全部复制!
然后安装NVIDIA CUDA 分析工具接口,此库提供高级分析支持。
sudo apt-get install libcupti-dev
darknet
https://github.com/AlexeyAB/darknet 这是github地址,按照里面的方式编译运行就可以了,出了问题看看错误日志,都可以解决。
cmake升级
在编译darknet的时候,遇到的一个问题,大体意思是需要3.18以上的cmake版本才能完成编译,我用的是3.13,此时就需要对cmake进行升级。顺序执行下方命令可以完成升级。
cd ~/Download
wget https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.tar.gz
tar -xzvf cmake-3.18.0-Linux-x86_64.tar.gz
# 解压出来的包,将其放在 /opt 目录下,其他目录也可以,主要别以后不小心删了
sudo mv cmake-3.18.0-Linux-x86_64 /opt/cmake-3.18.0
# 建立软链接
sudo ln -sf /opt/cmake-3.18.0/bin/* /usr/bin/
# 查看 cmake 版本
cmake --version
需要注意的是,cmake的版本按照自己的需求,直接改数字即可。
Failed to load module “canberra-gtk-module” 问题解决
这个问题是在运行darknet测试命令时候,识别完一张图片之后报出的。是因为缺少依赖包。使用apt安装一下依赖包就可以了。
sudo apt-get install libcanberra-gtk-module
软连接到桌面
ln -s 源地址 目的地址
ln -s /opt/darknet ~/下载/darknet