安装方式很多,这里采用基于Anaconda3的安装方法。
操作系统:Ubuntu16.04
硬件配置:GeForce GTX 1080 Ti
网络环境:不能翻墙
安装好的软件:sublime、搜狗拼音输出法
- 安装Anaconda
- 安装Cuda Toolkit和CUDNN
- 安装tensorflow-gpu
特别提醒:严格按照对应版本安装,否则后面跑tensorflow的程序时很容易出现版本不兼容而报错。(初学者根据报错信息很难判断错误原因)
一、安装Anaconda3
下载地址:点击打开链接
安装指南:点击打开链接
按照安装指南下载安装的,没遇到什么问题。
版本:Anaconda3最新版
安装步骤:同安装指南。跳过了第二步,另外网上很多教程写要安装驱动,但我的电脑似乎驱动本来就安装好了的,所以我没有这个步骤也能用tensorflow。不过为了保险起见,建议还是装一下驱动好啦。
查看驱动版本
ubutnu-drivers devices
我的输出:
== /sys/devices/pci0000:00/0000:00:03.0/0000:03:00.0 ==
modalias : pci:v000010DEd00001B06sv000010DEsd0000120Fbc03sc00i00
vendor : NVIDIA Corporation
driver : xserver-xorg-video-nouveau - distro free builtin
driver : nvidia-384 - distro non-free recommended
安装驱动,推荐的384就安装384啦
sudo apt-get install nvidia-384
重启(一定要重启啊)后检查驱动是否安装好
nvidia-smi
我的输出:
Wed Jan 23 22:24:48 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:03:00.0 On | N/A |
| 23% 27C P0 56W / 250W | 294MiB / 11169MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 974 G /usr/lib/xorg/Xorg 177MiB |
| 0 1626 G compiz 114MiB |
+-----------------------------------------------------------------------------+
二、安装Cuda Toolkit8.0和CUDNN 5.1(GPU支持)
CUDA是NVidia的编程语言平台,要使用GPU就必须装这个,如果只用CPU的话就可以跳过这一步。
1、下载安装Cuda Toolkit8.0
下载地址:点击打开链接
架构选x86_64,安装类型选的deb(local)
下载好之后按照下载界面弹出的安装指南安装即可(这里复制一下吧),别忘了在下载目录打开终端。
Installation Instructions:
- `sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb`
- `sudo apt-get update`
- `sudo apt-get install cuda`
下载界面还有个补丁,我也不知道有没有用,姑且下载好安装上。
2、下载安装cuDNN v5.1 for CUDA 8.0
下载地址:点击打开链接
这就是一个GPU加速的库。
下载这个要先注册,你点下载按钮时注册界面会自己弹出来的。注册我用的QQ邮箱,等了估计十几分钟才收到注册邮件。网上说163会快一些。
下载的时候选择for linux版本,别选Ubuntu16.04 Power8。
下载得到的压缩包解压到随便什么地方,得到两个东西一个是头文件cudnn.h,另一个是一个文件夹,里面装的库文件:.a是静态库,.so是动态库。
由于Cuda Toolkit8.0默认安装在/usr/local/cuda,所以执行下列命令就可以把这个库添加进cuda里。
前一个路径记得改成自己的。
sudo cp cudnn-8.0-linux-x64-v5.1/cudnn.h /usr/local/cuda/include
sudo cp cudnn-8.0-linux-x64-v5.1/libcudnn* /usr/local/cuda/lib64
3、添加环境变量
打开终端
sudo subl ~/.bash_profile
我用的文本编辑器是sublime,很好用,个人觉得写代码比Anaconda自带的spyder好用。采用Ubuntu系统自带的gedit进行编辑会报错无法编码所以就换了个编辑器。然后把下面两行代码复制粘贴进去(直接复制粘贴不需要修改)
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
保存之后重启一下电脑或者执行指令
source ~/.bash_profile
三、安装Tensorflow-gpu
1、建立一个conda计算环境名字叫tensorflow
学长说python 版本3.5以上会报错,所以我放弃了最新版3.7而选择了版本3.5
conda create -n tensorflow python=3.5
2、安装tensorflow-gpu
根据之前的经验tensorflow-gpu1.2.0是一个可用的版本,比它高的版本我都遇到过版本不兼容的报错,所以索性每次重装系统我都用的1.2.0,可能现在(2019.1.23)高版本也能用,但我懒得试……
source activate tensorflow
pip install tensorflow-gpu==1.2.0
3、测试
这种安装方法使得每次使用tensorflow需要激活tensorflow环境,也就是
source activate tensorflow
然后就可以测试了
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
>>>
参考资料:
1、tensorflow官方文档中文版:点击打开链接
2、GPU环境配置:点击打开链接
3、《tensorflow技术解析和实践》,因为无法翻墙所以不能通过网址下载tensorflow,所以借鉴了书里的安装指令pip install tensorflow-gpu==1.2.0。