- 写在前面,一路安装走来,遇到很多TensorFlow、cuda、cudnn版本不兼容匹配的,后来,我找到了NVIDIA官方系统配置 ,可以按照这个来配置,避免多走弯路。
环境:
- ubuntu 16.04 64bit
- 显卡:NVIDIA Tesla k40m + 集成显卡
注:在NVIDIA DriverDownloads查找的最新为384.66,系统配置如下:
![]()
但是,安装不成功!后选择375.66成功
- 驱动:nvidia 375.66
- 软件:cuda8.0 + cuDNN5.1
1.准备工作:
1.1 配置安装环境
若不安装第5步 tensorflow-gpu+keras,此处可省略。。
sudo apt-get update
sudo apt-get install python-dev python-pip python-nose gcc g++ git gfortran
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential
1.2 禁用自带的显卡驱动nouveau
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在其中加入:
blacklist nouveau option nouveau modeset=0
sudo update-initramfs -u
1.3 加入环境变量
sudo gedit ~/.bashrc
在其中加入:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
执行
source ~/.bashrc
2. 安装NVIDIA显卡驱动
首先还是先去官网下载正确的显卡驱动,官网:http://www.geforce.cn/drivers
查看自己的显卡型号:
sudo lshw -numeric -C display
如果之前安装过nvidia驱动,先卸载:
sudo apt-get remove --purge nvidia-*
Ctrl-Alt+F1 进入命令行界面
cd Downloads
sudo /etc/init.d/lightdm stop #关闭当前图形环境令
sudo chmod a+x NVIDIA-Linux-x86_64-375.66.run #给驱动run文件赋予执行权限
sudo ./NVIDIA-Linux-x86_64-375.66.run --no-x-check
--no-nouveau-check --no-opengl-files # 这句一定要加参数,不然就会循环登录。
如果进入循环登录,要再次Ctrl-Alt+F1 进入命令行界面,卸载驱动:
sudo apt-get remove –purge nvidia-*
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
- –no-check 安装驱动时不检查X服务
- –no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加(Ps: 没懂 - 与 - - 的区别,貌似都可以,我上面写的是两个- -哦)。
sudo /etc/init.d/lightdm start #重新启动图形环境
reboot
3. 安装cuda
去官网下载:https://developer.nvidia.com/cuda-downloads
注意一定要下载runfile。
Ctrl-Alt+F1 进入命令行界面
cd Downloads
sudo service lightdm stop #禁用X服务
sudo /etc/init.d/lightdm stop #一样的命令
sudo sh cuda-8.0.44_linux.run --no-opengl-libs
注:第一条问是否安装nvidia驱动,选择no,后面一直输入yes就行
sudo /etc/init.d/lightdm start #启用服务
reboot
重启之后进入修改环境配置
sudo gedit ~/.bashrc
加入:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
执行:
source ~/.bashrc
测试安装是否成功:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
显示gpu信息,说明安装成功。
查看显卡情况:nvidia-smi
4. 配置cuDNN
官网下载:https://developer.nvidia.com/rdp/cudnn-download
注册账号之后就可以下载啦。(参考文献1下载的5.1,安装6.0没试)
cd Downloads/cuda
sudo cp -a include/cudnn.h /usr/local/cuda/include/ # 复制头文件
cd ./lib64
sudo cp -a lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
5. tensorflow-gpu and keras
sudo pip install -U --pre pip setuptools wheel
sudo pip install -U --pre numpy scipy matplotlib scikit-learn scikit-image
sudo pip install -U --pre tensorflow-gpu==1.2
sudo pip install -U --pre keras
注:sudo pip install -U –pre tensorflow-gpu==1.2 , 若没有指定版本,则下载的是最新的版本,我在安装过程中出现以下了问题:
1. gpu=1.5 ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
2. gpu=1.4 ImportError:libcudnn.so.6: cannot open shared object file: No such file or directory所以,最后选择了gpu1.2,测试成功。
6. 验证:
6.1 简单测试
首先关闭所有打开的终端并打开一个新的终端。
将目录(cd)更改为系统中除调用configure命令的tensorflow子目录之外的任何目录。
调用python:在命令行输入python
输入以下短程序:
import tensorflow as tf
hello = tf.constant('Hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
你应该看到“你好,TensorFlow!”。恭喜!
您也可以输入
print(tf.__version__)
查看安装的TensorFlow的版本。