本文转自CY同学的github博客,更多干货请移步CaptainChen - stay hungry, stay foolish
1.屏蔽开源驱动nouveau
打开终端执行:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在新增的文件中写入以下内容保存:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
然后在终端中执行:
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
重启电脑。
开机后,终端中执行:
lsmod | grep nouveau
若无内容输出,则说明nouveau已经屏蔽成功,可以进行下一步操作了,否则仔细检查以上操作有无操作上的失误。
2. 安装N卡驱动
安装驱动的方式有好几种,比如系统设置附加驱动安装法,官方.run文件安装法,ppa法和自行编译法。这里将前三种都大概讲一下,根据情况任选其一即可。
2.1 ppa安装法
ctrl+alt+F1进入文本模式:
关闭图形界面:
sudo /etc/init.d/lightdm stop
添加ppa源并更新缓存:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
安装驱动:
sudo apt-get install nvidia-xxx # xxx是版本号,这里按tab选择版本即可
重启电脑。
3.安装CUDA8.0
若已安装CUDA8.0之前的版本(比如7.5)建议先卸载旧版本CUDA: 运行位于/usr/local/cuda-7.5/bin
下的uninstall脚本,然后重启。
3.1下载CUDA8.0
下载地址:https://developer.nvidia.com/cuda-downloads
本文选取runfile文件安装方式,如下图:
3.2 执行runfile
切换到CUDA8.0 runfile的下载目录,执行:
sudo sh cuda_8.0.44_linux-run.run (注意版本号,后续不再提醒)
此时,屏幕上会开始出现一些协议和说明性的文字,键盘按下q键直接跳过协议阅读部分。
然后屏幕上会依次出现以下询问文字:
Do you accept the previously read EULA?
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 3xx.xx?
Install the CUDA 8.0 Toolkit?
Enter Toolkit Location
Do you want to install a symbolic link?
Install the CUDA 8.0 Samples?
Enter CUDA Samples Location
除了第二行选择no拒绝重新安装N卡驱动外,其余一律选择yes和默认位置。
3.3 声明环境变量
说明:若以前安装过CUDA7.5这样的老版本CUDA,由于之前已创建过软链接(/usr/local/cuda
),声明环境变量部分可以跳过,后面为cuDNN配置环境变量时也是如此。
更改PATH
和LD_LIBRARY_PATH
: 在~/.bashrc
文件中,添加以下两行并保存(sudo gedit ~/.bashrc
):
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
执行:
source ~/.bashrc
可用echo $PATH
和echo $LD_LIBRARY_PATH
命令检查下是否配置成功。
验证nvcc编译器版本:
nvcc -V
若正确安装,会显示CUDA版本。
3.4 (可选)编译示例代码
跑一个简单的例子deviceQuery
:
在~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
路径下,依次执行:
make
./deviceQuery
最后一行若显示为Result = PASS
则表明CUDA8.0安装成功,运行正常
4. 安装cuDNN5.1
注意:最新版的cuDNN已迭代至6.0版本,截至2017.5.1日,TensorFlow通过pip快速安装的版本只支持到5.1版。若要使用最新版cuDNN,需要手动编译TensorFlow。而本人亲测使用最新版cuDNN编译的TensorFlow版本速度快了不少,追求极致速度的推荐手动编译。
4.1 下载cuDNN库文件
下载地址:https://developer.nvidia.com/cudnn (注意,下载cuDNN需要注册Nvidia开发者帐号)
各种提示一路点下来,最后如下图:
4.2 配置库文件
解压第一个下载的cuDNN Library文件,解压,得到一个cuda文件夹。在终端cd到刚解压的cuda文件夹,
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
然后赋予可读权限:
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
配置环境变量:
~/.bashrc
中添加两行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
export CUDA_HOME=/usr/local/cuda
然后执行:
source ~/.bashrc
4.3 (可选)编译示例代码
解压第一步下载下来的.deb
文件,切换到其中的/usr/src/cudnn_samples_v5/mnistCUDNN
下,依次执行:
make
./mnistCUDNN
若最后一行出现Test passed
,表明cuDNN安装成功。
5. 安装TensorFlow最新版
5.1 安装
本文采取pip安装方式,其余如Anaconda等安装方式参见官网
安装必要文件:
sudo apt-get install python-pip python-dev
安装TensorFlow:
sudo pip install tensorflow-gpu
安装完成。