服务器配环境:Ubuntu 16.04 + Titan Xp + CUDA 9.0 + cuDNN 7.1 + Tensorflow + Pytorch + MXNet

 

系统配置

服务器型号:ThinkStation P910
显卡:Titan Xp
系统:Ubuntu 16.04
python :2.7
框架:Tensorflow, Pytorch, MXNet

安装Ubuntu 16.04

制作启动盘,进入BIOS,切换成U盘启动,然后一步步安装。选择语言时最好选英语,如果选中文,进入文本模式时,中文会变成菱形乱码。

这个时候把pip也直接安装了,所有的安装尽量都在root权限下安装。

sudo apt-get install python-pip
  • 1

安装显卡驱动

一定要去官网下载符合型号的GPU驱动,千万不要在 系统设置->软件更新->附加驱动 里随便选一个英伟达驱动就安装了。

下载驱动的地址是
https://www.nvidia.cn/Download/index.aspx?lang=cn

有时候NVIDIA的官网会突然抽风,点击下载按钮之后出现一堆乱七八糟的东西,反正就是下载不了。如果你知道需要安装的驱动型号,那就不要慌,有一个简单的解决办法。

比如我需要的驱动是 Titan Xp + Linux 64 bit,型号是390.67
那么直接在打开如下网址
http://us.download.nvidia.com/XFree86/Linux-x86_64/390.67/NVIDIA-Linux-x86_64-390.67.run
马上可以下载!
网址中Linux-x86_64明显是系统版本,390.67是驱动版本号。
我安装的实际上是390.59,然而这个版本现在下不了了。

驱动型号的选择要慎重,如果安装的驱动版本太老,相应的,CUDA版本就不能选择比较新的。不然会报错 cuda version … insufficient … runtime version 之类的。

下载好驱动后,放在一个英文路径下(如果系统语言是中文的话,尤其注意!)。
1. 禁用Ubuntu默认驱动nouveau
首先,改变 blacklist.conf 文件的属性,使之可编辑。

sudo chmod 666 /etc/modprobe.d/blacklist.conf
  • 1

打开文件

sudo gedit /etc/modprobe.d/blacklist.conf
  • 1

在最后一行加入

blacklist nouveau
  • 1

完成后重启
验证:执行代码

lsmod|grep nouveau
  • 1

如果没有输出,说明成功,进入下一步。
如果没有禁用成功。进入root模式,试着输入以下命令

update-initramfs -u
  • 1

重启后,如果分辨率降低,再进行下一步。
2. 进入文本模式,快捷键 ctrl + alt + f1 。检查是否进入root权限。
3. 禁用xserver 服务。

sudo service lightdm stop
  • 1

然后重启。
4. 安装驱动

bash NVIDIA-Linux-x86_64-390.59(驱动名)
  • 1

一步步安装提示操作即可。
5. 开启xserver服务

sudo service lightdm start
  • 1

进入图形化界面 ctrl + alt + f7
命令行内输入

nvidia-smi 
  • 1

检查驱动版本。

安装CUDA 9.0

下载CUDA 9.0,网址为
https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal
默认安装路径为 /usr/local/cuda-9.0
运行文件

sudo sh cuda_9.0.176_384.81_linux.run
  • 1

开始安装后,会出现一个协议,一直回车到底。然后出现几个选项
Tensorflow + Pytorch + MXNet
(图片转自某个教程,链接找不到,侵删。下图同)

安装后,可能会出现提示信息,表示缺少某几个库。对应的安装命令是

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
  • 1

重新运行安装命令。

安装成功后,设置环境变量。
运行命令

sudo gedit ~/.bashrc
  • 1

将以下命令写入文件最后

export CUDA_HOME=/usr/local/cuda-9.0
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  • 1
  • 2
  • 3

保存退出,重启生效。

验证是否生效,执行

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
  • 1
  • 2
  • 3

结果如下
Tensorflow + Pytorch + MXNet

检查nvcc版本,输入命令

nvcc -V
  • 1

安装 cuDNN 7.1

下载地址
http://developer.nvidia.com/cudnn
需要注册后才能下载。

我选择的版本是
download cuDNN v7.1.4 for CUDA 9.0
cuDNN V7.1.4 Library for Linux

解压文件

tar -xvf cudnn-9.0-linux-x86-v7.1.tgz
  • 1

移动到相应位置

sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h
sudo chmod a+r /usr/local/cuda-9.0/lib64/libcudnn*
  • 1
  • 2
  • 3
  • 4

注意根据自己的安装路径修改以上命令。

安装 Tensorflow 1.8.0

我安装的版本是 GPU 版 1.8.0

pip install tensorflow-gpu==1.8.0
  • 1

验证 TensorFlow。进入python,输入

>>> import tensorflow as tf 
  • 1

安装 Pytorch

进入官网
https://pytorch.org
选择系统和安装方式
Tensorflow + Pytorch + MXNet
按照提示安装。

安装 MXNet

官方教程地址
https://mxnet.incubator.apache.org/install/index.html?device=Linux&language=Python&processor=CPU
Tensorflow + Pytorch + MXNet

分类:

技术点:

相关文章: