声明:此方法安装tensorflow亲测有效,即使中间出现问题也都是缺少某个工具、缺少某个文件之类的,都是跟系统有关的小问题!尽量按顺序执行,至少在每一步过程中都按照顺序执行!!
安装配置:
硬件:GPU:GeForce GTX 1080
软件:Ubuntu16.04+Anaconda3-5.1.0+CUDA9.0+CUDNN7.0+tensorflow-r1.7
Tensorflow-r1.5以上支持CUDA版本9.0版本;
Tensorflow-r1.3, r1.4匹配CUDA版本8.0版本
安装过程:
1. Nvidia 显卡驱动安装
下载官方驱动程序,下载网址为:http://www.geforce.cn/drivers,我的显卡是GTX 1080下载的是NVIDIA-Linux-x86_64-384.130.run这个版本,也可以选择更新一点儿的
1.1 禁止集成的nouveau驱动
查看属性:
$sudo ls -lh /etc/modprobe.d/blacklist.conf
修改属性:
$sudo chmod 666 /etc/modprobe.d/blacklist.conf
用gedit编辑器打开:
$sudo gedit /etc/modprobe.d/blacklist.conf
在该文件后加入下面几行:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
1.2 安装驱动
按Ctrl+Alt+F1到控制台界面,输入用户名密码登陆
关闭当前图形界面
$sudo service lightdm stop
安装驱动NVIDIA-Linux-x86_64-xxx.run
$sudo chmod +x NVIDIA-Linux-x86_64-xxx.run
$sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files
最后重新启动图形环境
$sudo service lightdm start
查看显卡驱动
$sudo nvidia-smi
2. 安装CUDA9.0+cudnn7.0
CUDA9.0下载地址:https://developer.nvidia.com/cuda-90-download-archive ,如下图所示
2.1 CUDA9.0 安装
cd 到刚刚下载的cuda的 .deb 路径下,或者在刚刚的cuda的下载路径中打开终端
执行
$sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
$sudo apt-get update
$sudo apt-get install cuda-9.0
2.2 gcc 降低版本(会有莫名其妙的问题)
$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++
2.3 cudnn安装
去官网下载对应cuda版本的cudnn文件,需要先注册才能下载。
https://developer.nvidia.com/cudnn
到下载目录中打开terminal(或cd到下载目录),依次输入下面指令
$tar xvzf cudnn-9.0-linux-x64-v7.0-ga.tgz###(解压这个文件)
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
配置环境变量
用gedit 打开文件:
$sudo gedit /root/.bash_profile
在文件最后面添加如下内容:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
用gedit 打开文件:
$ sudo gedit /etc/profile
在文件中添加:
export PATH=$PATH:/usr/local/cuda/bin
创建文件:
$ sudo touch /etc/ld.so.conf.d/cuda.conf
在文件中添加:
/usr/local/cuda/lib64
使上述配置直接生效:
$source /root/.bash_profile
$source /etc/profile
$sudo ldconfig
2.4 完成安装,测试
$nvcc –V
可以看到cuda版本信息
运行一下CUDA中自带的例程:
$cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$sudo make
$./deviceQuery
底部出现Result = PASS 则安装成功!!
3. 安装Bazel编译器
按照官方教程提供方法安装即可。
链接:https://docs.bazel.build/versions/master/install-ubuntu.html#install-on-ubuntu
4. 安装Anaconda
(1) 到清华大学开源镜像网站下载 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 比官网快的多得多
(2) 进入下载目录,打开terminal,键入:
$ bashAnaconda3-5.0.1-Linux-x86_64.sh
安装过程中,提示是否要将Anaconda的安装路径添加到PATH环境变量中,输入yes!!!
installation finished.
Doyou wish the installer to prepend the Anaconda3 install location
toPATH in your /home/hj/.bashrc ? [yes|no]
[no]>>> yes
(建议)配置清华镜像作为默认下载路径,还是比官方快的多!
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
5. 安装其他库(可选)
$sudo apt-get install python-pip python-dev
$sudo apt-get install python-numpy swig python-dev python-wheel
$sudo apt-get install git
$git clone git://github.com/numpy/numpy.git numpy
6. 安装tensorflow
打开github上tensorflow的主页:https://github.com/tensorflow/tensorflow
在branch处选择对应的版本文件下载,可以根据你个人需求,此处,我选择的是 r1.7 版本的文件
进入下载目录中,解压源码
$unzip tensorflow-r1.7.zip
$cd ./tensorflow-r1.7
$./configure
配置安装信息:
这里要说一下,首先选择解释器路径,默认应当是你的~/anaconda3/bin/python 才不枉费你装了 Anaconda ,然后后面有一堆选yes/no的 就把jemalloc 和 CUDA 选yes,其他都回车选no就行,CUDA选yes的时候也会提示你cuda 和 cudnn 的默认路径,不对的话就输入改一下!
配置完成后会看到最后出现Configure finished
然后还是在此目录下输入
$bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
$bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
$bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
$ pip install /tmp/tensorflow_pkg/tensorflow-1.7.1-cp36-cp36m-linux_x86_64.whl
第一行是选择CPU 版本,第二行是选择GPU 版本编译,时间比较久,最后一行的pip前面不要加sudo,你可以尝试加上,但是我这边儿有错
安装完成后设置tensorflow 的环境,终端中输入如下:
$mkdir _python_build
$cd _python_build
$ln -s ../bazel-$bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .
$ln -s ../tensorflow/tools/pip_package/* .
$python setup.py develop
7. 验证你的tensorflow:
从 shell 中调用 Python,如下所示:
$ python
在 Python 交互式 shell 中输入以下几行简短的程序代码:
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
如果系统输出以下内容,说明您可以开始编写 TensorFlow 程序了:
Hello, TensorFlow!
至此,安装成功!!!