Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

一、安装NVIDIA驱动

关闭x-server,ctrl + alt + F1 进入终端界面,登陆

sudo service lightdm stop

(X server将会被关闭。可以使用ctrl + alt + F7 检查一下)禁用 nouveau 驱动

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

输入

blacklist nouveau
options nouveau modset=0

保存退出,执行

 sudo update-initramfs -u

禁用结束。重启电脑。验证驱动是否禁用成功,如果没有内容,则禁用成功。

sudo lspci | grep nouveau

Nvidia驱动

先下载显卡驱动NVIDIA-Linux-x86_64-*..run文件
ctrl + alt + F1 进入终端界面,登陆

sudo service lightdm stop 

(X server将会被关闭。可以使用ctrl + alt + F7 检查一下)

sudo chmod a+x NVIDIA-Linux-x86_64-**.**.run
sudo sh ./NVIDIA-Linux-x86_64-**.**.run –no-opengl-files
sudo rm /etc/X11/xorg.conf
sudo reboot

检测配置成功

nvidia-smi

如果nvidia-smi运行报错,什么 as root,好像是因为Ubuntu本身的问题,进BIOS,找到security boot,关闭,可解决大部分问题

二、安装cuda

目前大部分教程是安装的cuda8.0+cuDNN6.0 配置,一开始的时候也是按这个版本的教程来的,期间还下错过版本的重新下载。不过Tensorflow1.5应该是支持9.0的,我换源之后pip安装的tensorflow是1.5版本的,之前配好了cuda8.0,这个提示要用9.0,很无奈,又下载了一遍。
Cuda9.0下载界面:https://developer.nvidia.com/cuda-release-candidate-download
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第1张图片
下载好之后按执行命令

sudo sh cuda_9.0.176_384.81_linux.run

进行安装,要注意几个选项,他会有一个选项问你是否需要安装NVIDIA的驱动,我们之前已经安装好了,所以这一步选择NO,(我猜在这里直接装驱动的话,还是会GG,因为那个opengl)
一定选择NO 要不然之前的驱动白装了
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第2张图片
这个界面是让你去读一些协议啥的,而且很长,ctrl+c可以直接跳过
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第3张图片

安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

# 个人推荐的方法
# the path for cuda
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

或者

export PATH=/usr/local/cuda-9.0/bin\${PATH:+:\${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}
  • gcc g++ 版本问题
    查看gcc版本信息:gcc –v
    查看g++版本信息:g++ –v
    (待查证)由于cuda8.0不支持gcc 5.0以上的编译器,因此需要降级,把编译器版本降到4.9:
sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++

检查是否装好:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
# 编译 可能需要sudo 
make   
# 运行
./deviceQuery 

Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第4张图片
最后显示Result = pass 是校验通过的意思

cd /usr/local/cuda/samples/1_Utilities/bandwidthTest
make
./bandwidthTest

来测试系统和CUDA组建的通信无误,正常结果输出如下:
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第5张图片

三、安装cuDNN

cuDNN全称 CUDA Deep Neural Network library,是NVIDIA专门针对深度神经网络设计的一套GPU计算加速库,被广泛用于各种深度学习框架,例如Caffe, TensorFlow, Theano, Torch, CNTK等。

首先需要下载cuDNN,直接从Nvidia官方下载链接选择一个版本,对
CUDA8.0支持较好的是v6.0,我安装的是CUDA9.0,所以选择安装的是V7.0.5版本的CUDNN
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第6张图片

tar -zxvf cudnn-9.0-linux-x64-v7.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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

这个的安装还是比较简单的,下载到包之后解压,然后复制一下就行

四、安装TensorFlow

可以选择换源,可以将pip源指向阿里云的源镜像
http://mirrors.aliyun.com/help/pypi
具体添加一个 ~/.config/pip/pip.conf 文件,

cd ~/.config/
mkdir pip
cd pip
vim pip.conf

设置为:

[global]
trusted-host =  mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple

或者清华的pip源 https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
$ sudo pip install tensorflow          # Python 2.7; CPU support (no GPU support)
$ sudo pip3 install tensorflow         # Python 3.n; CPU support (no GPU support)
$ sudo pip install tensorflow-gpu      # Python 2.7;  GPU support
$ sudo pip3 install tensorflow-gpu     # Python 3.n; GPU support 


配好CUDA环境之后,安装tensorflow挺简单简单,不过源码github安装,自己能够找到自己的目录文件夹,但是pip安装直接找不到文件夹。

  • 测试是否安装成功
 sun@MaxChanger  ~/.config/pip  python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.8.0'
>>> tf.__path__
['/usr/local/lib/python2.7/dist-packages/tensorflow']

sun@MaxChanger  ~/.config/pip  python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.8.0'
>>> tf.__path__
['/usr/local/lib/python3.5/dist-packages/tensorflow']
>>> 

Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第7张图片

源码安装很不好用!
(1) 安装Tensorflow依赖的其它工具包
sudo apt-get install python-numpy swigpython-dev python-wheel
(2) 下载最新的Tensorflow源码
sudo apt-get install git
git clone https://github.com/tensorflow/tensorflow
(3) 运行configure脚本配置环境信息 ./configure
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第8张图片
校验Tensorflow安装

激活环境(source/tensorflow/bin/active),然后运行

$ python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

如果输出 Hello, TensorFlow!
说明TF安装正常
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录_第9张图片

参考文章
http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu-16-04-nvidia-gtx-1080-cuda-8

http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu16-04-geforce-gtx1080-tensorflow

http://www.52nlp.cn/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AEubuntu-1080ti-cuda-cudnn

https://www.tensorflow.org/install/install_linux#InstallingNativePip

你可能感兴趣的:(TensorFlow)