前言
折腾几天,参考了很多资料。
总算弄好。
由于机器差异与系统环境的细微差异,很多相关文章的命令并不通用。
动不动一步踏错,重装系统。
最后发现还是Ubuntu系统厉害,自带的功能好用。
整理了一下流程,思路应该是通用的,切换版本也ok。
注:个人学习用环境,非服务器版,Ubuntu 16.04桌面 (已更新到最新16.04.05)
资源下载
CUDA:https://developer.nvidia.com/cuda-toolkit-archive (根据自己需要下载版本的runfile,类似 cuda_9.0.176_384.81_linux.run格式)
cuDNN:https://developer.nvidia.com/rdp/cudnn-download (对应CUDA版本下载cuDNN v7.3.1 Library for Linux链接下的文件)
安装NVIDIA驱动
Ubuntu自动nouveau驱动,这是一个第三方的开源驱动。对NVIDIA的显卡支持还行,但是不满足类似深度学习的要求,因此需要替换。
常见流程:
禁用nouveau
删除旧NVIDIA驱动
重启
BIOS禁用secure boot
切换命令行界面
关闭桌面显示
安装驱动
开启桌面显示
…
由于机器与系统环境的差异,按照网络上的流程,很多命令无法达到预期效果。导致安装失败,重装系统等。
其实Ubuntu桌面版已经将驱动做的很好了。
简洁流程:
- 进入BIOS设置,Secure Boot Disable (必须禁用,否则NVIDIA驱动可能启不来)
- 更新依赖库(非必须)
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev dkms linux-headers-generic
sudo apt-get update
sudo apt-get upgrade
- 更新ppa源:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
-
打开系统设置System Settings) -> 软件与更新Software & Updates->额外驱动Additional Drivers->选择需要的驱动版本,应用Apply Changes->等待完成,重启。
-
测试驱动:
nvidia-smi
nvidia-settings
注意下图,CUDA对驱动版本有要求,尽量选择较新的驱动。
CUDA&cuDNN安装
- CUDA安装
cd 进入cuda_9.0.176_384.81_linux.run 存放目录 #文件存放目录
sudo chmod +x cuda_9.0.176_384.81_linux.run #改权限
sudo ./cuda_9.0.176_384.81_linux.run
Graphic Driver安装选择no,其余选择yes,路径default默认直接回车
- CUDA环境变量
sudo gedit /etc/profile
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-9.0 #TensorFlow需要
sudo reboot #重启生效
如果需要root权限下,环境变量也不失效
可以再修改 /root/.bashrc文件,操作同上
- CUDA测试
nvcc -V #查看CUDA版本 ,若无此命令,检查是否环境变量设置有误
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make -j8
./deviceQuery #成功运行则无问题,否则根据报错信息查询
- cuDNN安装
cd 进入cuDNN压缩文件存放目录
tar -xzvf cudnn-9.0-linux-x64-v7.3.1.20.solitairetheme8
sudo cp include/* /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
- cuDNN更新链接(否则拷贝过去的库无效)
cd /usr/local/cuda/lib64/
sudo ln -sf libcudnn.so.7.3.1 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
ll libcudn* #检查链接是否成功,权限是否正确
- 卸载CUDA&cuDNN(runfile安装)
cd /usr/local/cuda-9.0/bin/
sudo ./uninstall_****
之后删除文件夹,照之前的修改回环境变量设置
小结
折腾结束,接下来就是弄TensorFlow的环境。过几天再发。配环境不自己弄一遍还是不舒坦哈哈哈。
参考资料
https://blog.csdn.net/ksws0292756/article/details/79160742
https://blog.csdn.net/abc869788668/article/details/78331047