CaptainChen

Ubuntu14.04 + GTX 960 +Tensorflow安装教程

2017-01-16 1160 words (about 5 min read) Views
Ubuntu TensorFlow

1. 安装 CUDA 8.0

说明 1:本文默认已安装 Nvidia 私有驱动。检查方法:桌面右上角点击设置图标,点击关于这台计算机,在图形一栏若显示 GeForce GTX960/… 类似字样,说明已安装 N 卡私有驱动。否则请参考我的另一篇博客Ubuntu下GTX1080显卡驱动折腾小记

说明 2:若已安装 CUDA 8.0 之前的版本(比如 7.5)建议先卸载旧版本 CUDA: 运行位于 /usr/local/cuda-7.5/bin 下的 uninstall 脚本,然后重启

1.1 下载 CUDA 8.0

下载地址:https://developer.nvidia.com/cuda-downloads

本文选取 runfile 文件安装方式,如下图:

1.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 和默认位置。

1.3 声明环境变量

说明:若以前安装过 CUDA 7.5 这样的老版本 CUDA,由于之前已创建过软链接(/usr/local/cuda),声明环境变量部分可以跳过,后面为 cuDNN 配置环境变量时也是如此。

更改 PATHLD_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 $PATHecho $LD_LIBRARY_PATH 命令检查下是否配置成功。

验证 nvcc 编译器版本:

nvcc -V

若正确安装,会显示 CUDA 版本。

1.4 (可选)编译示例代码

跑一个简单的例子 deviceQuery:

~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery 路径下,依次执行:

make
./deviceQuery

最后一行若显示为 Result = PASS 则表明 CUDA 8.0 安装成功,运行正常

2. 安装 cuDNN 5.1

注意:最新版的 cuDNN 已迭代至 6.0 版本,截至 2017.5.1 日,TensorFlow 通过 pip 快速安装的版本只支持到 5.1 版。若要使用最新版 cuDNN,需要手动编译 TensorFlow。而本人亲测使用最新版 cuDNN 编译的 TensorFlow 版本速度快了不少,追求极致速度的推荐手动编译。

2.1 下载 cuDNN 库文件

下载地址:https://developer.nvidia.com/cudnn (注意,下载 cuDNN 需要注册 Nvidia 开发者帐号)

各种提示一路点下来,最后如下图:

2.2 配置库文件

解压第一个下载的 cuDNN Library 文件,解压,得到一个 cuda 文件夹。为方便后续操作,借助 cp 命令复制此 cuda 文件夹到 /usr/local/cuda 文件夹下(也就是让此 cuda 文件下又多一个 cuda 文件夹):

sudo cp -rf 解压出的cuda文件夹所在目录/cuda/ /usr/local/cuda/cuda

切换到/usr/local/cuda文件夹下,执行:

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 /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

2.3 (可选)编译示例代码

解压第一步下载下来的 .deb 文件,切换到其中的 /usr/src/cudnn_samples_v5/mnistCUDNN 下,依次执行:

make
./mnistCUDNN

若最后一行出现 Test passed,表明 cuDNN 安装成功。

3. 安装 TensorFlow 最新版

3.1 安装

本文采取 pip 安装方式,其余如 Anaconda 等安装方式参见官网

安装必要文件:

sudo apt-get install python-pip python-dev

安装 TensorFlow:

sudo pip install tensorflow-gpu

安装完成。

注意:以上方式安装的为最新版 TensorFlow。若要安装旧版本,可改用以下命令:

sudo pip install tensorflow-gpu==1.0(任一旧版本号)

3.2 测试

终端执行:

$ python
...
>>> import tensorflow as tf
>>> sess = tf.Session()

若没报错,并通过命令行指令 nvidia-smi 观察到 GPU 显存占满,说明安装成功。

另外本人发现在个别硬件上即使 cuda 和 cuDNN 配置正确,装完 TensorFlow 仍然不能调用 gpu 的情况。最后通过手动编译 TensorFlow 解决,暂无其他方法。

3.3 常见问题

  1. 安装过程出现错误:Common Problems
  2. 运行时显卡调用问题集: 知乎 深度学习theano/tensorflow多显卡多人使用问题集
如果你这里看到有广告,不妨点击一下,就是对本站最大的支持~



本文由 CaptainChen 创作
该文章采用 知识共享署名-非商业性使用 4.0 国际许可协议进行许可。转载请注明出处!
CopyRight © 2017 - 2020
本站已稳定运行 天 总访问量