注意cuda、cudnn和tensorflow版本的匹配
1. 安装ubuntu16.04系统
制作系统U盘,对于联想电脑,按F12设置从USB安装
2. 安装cuda8.0(我的显卡是GTX850m)
2.1 安装NVIDIA 驱动
1)禁止nouveau驱动:Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。
sudo gedit /etc/modprobe.d/blacklist.conf
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
sudo reboot,确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau
2)文本模式
ctrl+alt+F1进入tty模式,输入账号和密码,关闭图形界面:sudo service lightdm stop
添加nvidia的驱动源:sudo add-apt-repository ppa:graphics-drivers/ppa
查看可安装的驱动版本:ubuntu-drivers devices,这里选择396
sudo apt-get update
sudo apt-get install nvidia-396:安装过程中禁用secure boot,这点非常重要,设置8-16位密码,
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
打开图像界面:sudo service lightdm start
sudo reboot:重启过程中选择改变secure boot状态的选项,输入几次密码,yes启动
打开终端,输入nvidia-smi,显示显卡信息说明安装成功
2.2 安装cuda8.0
从这里下载cuda8.0的安装run文件 ,进入run文件所在文件夹
sudo sh cuda_8.0.27_linux.run:注意Install NVIDIA Accelerated Graphics Driver for Linux-x86_64(选择no):因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可
sudo gedit /etc/profile:打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
sudo reboot
2.3 测试cuda的samples
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery:显示关于GPU的信息,则说明安装成功了。
3. 安装cudnn6.0
下载地址:https://developer.nvidia.com/rdp/cudnn-download#a-collapse6-8
下载解压:tar -zxvf cudnn-8.0-linux-x64-v7.tgz,得到一个cuda文件夹,进入之后会有include文件夹和lib64文件夹
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64/
进入/user/local/cuda-8.0/lib64/下并且创建软链接:sudo ln -sf libcudnn.so.6.0.20 libcudnn.so.6, sudo ln -sf libcudnn.so.6 libcudnn.so
4. 安装tensorflow1.4
在清华镜像源 https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/选择GPU、Linux系统、cp35版本、Tensorflow1.4.0后自动生成:
pip install \
-i https://pypi.tuna.tsinghua.edu.cn/simple/ \
https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.4.0-cp35-cp35m-linux_x86_64.whl
安装完成后,启动python环境验证是否安装成功:
python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow! # 恭喜!安装成功!