ubuntu1604+CUDA9.1+CUDNN7.0.5+python3+tensorflow-gpu 打造日志

安装系统的部分就不说啦

直接进入安装显卡驱动那一部分

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt -qy update
sudo apt -qy upgrade 
sudo apt -qy install nvidia-390 nvidia-390-dev
sudo apt -qy install mesa-common-dev freeglut3-dev

为了安装Cuda9.1 这里我们要注意的是nvidia-390 nvidia-390-dev这个版本号,一定要比他高就对了
然后是获取cuda的安装包,这里我们推荐使用runfile,很奇特的是如果使用官方手册那样deb方式进行安装,则会安装nvidia387版本的驱动,就有点本末倒置了。
sudo sh cuda_9.1.85_387.26_linux.run
在叫你进行选择是否安装驱动的时候,记得选个否。
在安装完成后,还需要进行环境的配置,在这里推荐在/etc/profile中添加

export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

测试是否成功,看下有没有nvcc --version
如果有就没问题啦,没有试一下重启,如果不行,重新安装啦。
弄完之后就开始安装cudnn啦
cudnn下载需要在nvidia开发者那里注册一下
把那几个最新的deb下载下来,就ok

sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.15-1+cuda9.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.5.15-1+cuda9.1_amd64.deb

接下来就是有没有安装cudnn成功啦

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd  $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

有错看报错信息,没错就万事大吉。

紧接着就是tensorflow啦,这个是个怪东西,因为官方pip的版本现在是1.5,使用的cuda版本为9.0,cudnn的版本为7.0,因此需要我们重新编译tensor才可以

sudo apt install libcupti-dev
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH' >> /etc/profile
sudo apt install openjdk-8-jdk
wget https://github.com/bazelbuild/bazel/releases/download/0.9.0/bazel_0.9.0-linux-x86_64.deb
sudo dpkg -i bazel_0.9.0-linux-x86_64.deb
sudo apt install -f
sudo apt install python3-numpy python3-dev python3-pip python3-wheel

这样就可以安装好必要的依赖库啦,由于笔者使用的是py3进行的所以这里就使用py3进行操作
接下来就是tensor的编译安装啦

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
./configure 

在遇到cuda的时候选下Y,然后根据在遇到cudnn位置的时候选择
/usr/lib/x86_64-linux-gnu
剩下的就是一路回车了

config完,就是要编译了

sudo ln -s /usr/local/cuda/include/crt/math_functions.hpp /usr/local/cuda/include/math_functions.hpp
bazel build --config=opt --config=cuda --incompatible_load_argument_is_label=false //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package tensorflow_pkg
cd tensorflow_pkg 
pip3 install tensorflow*.whl

喝杯茶,享受人生

python

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