基本上所有有关图像深度学习的项目都需要用到cuda,记录一下安装过程。
Ubuntu16.04系统,安装cuda10.0版本,安装好的系统几乎都是4.15的内核,因此需要降低内核版本至4.4.0,内核降低教程见链接: Ubuntu内核版本降级.
cuda的安装的前的要求参考链接: NVIDIA CUDA Installation Guide for Linux.
安装之前要确定电脑有支持cuda的显卡,内核版本以及GCC版本是否复合cuda10.0版本的要求。
1.首先禁用 nouveau驱动
lsmod | grep nouveau
如何什么显示都没有,那说明nouveau已经禁用。如果有显示,则创建并编辑该文件:
blacklist nouveau
options nouveau modeset=0
保存并退出。然后执行更新:
sudo update-initramfs -u
这一部分要确认更新的是4.4.0的内核(也就是cuda10.0要求的内核),如果更新了其他内核,nouveau是无法成功禁用的。
重启后在终端执行:
lsmod | grep nouveau
此时应该不会有任何显示。
2.重启电脑,进入登录界面的时候,不要登录进入桌面(否则可能会失败,若不小心进入,请重启电脑),直接按Ctrl+Alt+F1进入文本模式(命令行界面)
文本界面登陆后输入:
sudo service lightdm stop
然后在终端切换到cuda文件所在路径,输入:
sudo sh cuda_10.0.130_410.48_linux.run
我直接在cuda安装的过程中安装了显卡驱动,如果没有opengl的需求就不要安装了。安装成功后,会显示installed,否则会显示failed。
建议提前重新设置grub,具备集显独显的电脑安装cuda后似乎都有黑屏的问题,直接指定集显启动就应该不会再导致黑屏或者循环登录的问题。以下为设置方法:
sudo vim /etc/default/grub
#打开文件后,赋值:GRUB_CMDLINE_LINUX_DEFAULT="QUIET SPLASH NOMODESET"
#然后更新grub
sudo update-grub
然后重启。
最后验证安装是否成功:
/usr/local/cuda/samples/1_Utilities/deviceQuery,进去以后有个deviceQuery.cpp, make一下(在文件夹启动终端,输入sudo make),然后
./deviceQuery
如果安装成功则可以看到test passed这样的提示。
##############################
cuDNN v7 deb方法安装
文件下载链接:链接: link.
Runtime Library,Developer Library和Code Samples的deb文件全都下载下来
sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
验证:
可以先把验证文件拷贝出来:
cp -r /usr/src/cudnn_samples_v8/ $HOME
进入到指定文件夹下:
cd ~/cudnn_samples_v8/mnistCUDNN
编译:
make
运行编译好的可执行文件:
sudo ./mnistCUDNN
Test passed!
tgz cudnn安装
tar -xvf cudnn-10.1-linux-x64-v7.6.4.38.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2