Tensorflow + Pytorch + MXNet
服务器配环境: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
开始安装后,会出现一个协议,一直回车到底。然后出现几个选项
(图片转自某个教程,链接找不到,侵删。下图同)
安装后,可能会出现提示信息,表示缺少某几个库。对应的安装命令是
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
结果如下
检查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
选择系统和安装方式
按照提示安装。
安装 MXNet
官方教程地址
https://mxnet.incubator.apache.org/install/index.html?device=Linux&language=Python&processor=CPU