Yizhong's Blog

Ubuntu 16.04 配置 Tensorflow 深度学习环境

最近,在实验室的主机上装好了深度学习的环境,因为配置步骤比较复杂,所以在这里记录一下,一是为了以后有问题的时候参考,二是可以给大家配置环境的时候提供一个借鉴。

我们配置的深度学习环境如下:

  • 显卡: GeForce GTX 1080 * 2
  • Nvidia 显卡驱动 367.57
  • Cuda Tookit 8.0
  • cuDNN v5
  • Tensorflow 0.12

下面开始进入安装步骤:

显卡驱动

安装过程需要在终端模式下进行(Desktop按Ctrl+Alt+F1 切换到终端界面)

驱动安装文件下载

从 Nvidia 官网选择并下载显卡对应的驱动安装文件,一般为 NVIDIA-Linux-x86_64_version_num.run

卸载旧驱动,禁用自带驱动等

  • 卸载可能存在的旧版本 nvidia 驱动

    1
    $sudo apt-get remove --purge nvidia*
  • 安装驱动可能需要的依赖(可选)

    1
    2
    $sudo apt-get update
    $sudo apt-get install dkms build-essential linux-headers-generic
  • 把 nouveau 驱动加入黑名单

    1
    $sudo nano /etc/modprobe.d/blacklist-nouveau.conf

加入如下内容:

1
2
3
4
5
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

  • 禁用 nouveau 内核模块

    1
    2
    $echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
    $sudo update-initramfs -u
  • 重启计算机

    1
    sudo reboot

运行驱动安装文件并重启

1
sudo sh NVIDIA-Linux-x86_64_version_num.run

安装Cuda Toolkit

关闭桌面管理系统

在关闭桌面管理 lightdm 的情况下安装驱动似乎可以实现Intel 核芯显卡 来显示 + NVIDIA 显卡来计算,参考:

1
sudo service lightdm stop

下载安装包并安转

官网下载相应的安装包,并按照提示安装即可。

我们选择了安转deb包,通过以下命令进行安装:

1
2
3
4
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
sudo apt update
sudo apt install cuda
sudo reboot

安装cuDNN

下载与复制

官网下载最新的安装包,解压后将文件复制到对应的位置:

1
2
3
4
tar xvzf cudnn-8.0-linux-x64-v5.1-ga.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 /usr/local/cuda/lib64/libcudnn*

配置环境变量:

打开~/.bashrc文件,在末尾添加以下内容,注意nvidia-367版本号可能会有不同:

1
2
3
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/lib/nvidia-367
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda/bin

安装tensorflow

目前, tensorflow 0.12已经支持pip安装,可以直接参考官方教程进行。


到这里,整个环境就配置好了,可以运行ipython之后import tensorflow进行测试,也可以通过跑tensorflow源码中的例子进行测试,比如tensorflow/tensorflow/models/image/mnist中的CNN模型,在这里不再详述。


参考:

  1. 官方文档:https://www.tensorflow.org/versions/r0.12/get_started/
  2. Install tensorflow with cuda: http://city.shaform.com/blog/2016/10/31/install-tensorflow-with-cuda.html
  3. Ubuntu16.04 英伟达显卡驱动:https://gist.github.com/dangbiao1991/7825db1d17df9231f4101f034ecd5a2b
script>