ubuntu 是刚刚安装好的16.04 因为tensorfow 的官网要求:(在安装之前最好先看看tensorflow官网上对安装的环境要求,系统版本、显卡计算能力、cuda和cudnn的版本,下面使用的都是目前符合tensorflow官网的要求版本)
这里先用cuda9.1 装好之后不能使用,还是装回了cuda9.0.所以
一定要按照tensorflow官网上面的要求(目前的要求是cuda9.0 和cudnn7.0)
下面截图图片中可能有cuda9.1的,但请使用cuda9.0版本
1、
安装显卡驱动
电脑配置了两块泰坦显卡,安装方法主要有三种:
- 系统设置安装 (这里只使用系统的自动更新)
- 安装CUDA时顺便安装
- 官方下载最新驱动并安装
参考:《Ubuntu 16.04安装NVIDIA驱动》
打开系统的软件升级中心中的额外页如下:
重启之后打开终端,输入:nvidia-smi 输出CPU的信息列表,表示驱动安装成功(可以看到我装的电脑上是有两块TITAN 显卡)
关于手动下载驱动的安装上一次安装的时候也尝试了一下,可以参考https://zhuanlan.zhihu.com/p/27168325 这篇知乎教程,相对麻烦一点,但是不用重启电脑就是,还有就是下载驱动的时候要下载对应的版本
安装cuda
1、cuda可以在nivida官方网站上下载:
选择好对应的系统和下载的文件格式:(这里使用runfile的安装方式)
(tips:使用的是迅雷下载,可以很快把1.6G的文件下载下来,再拷贝到ubuntu系统上,文件名:cuda_9.1.85_387.26_linux.run)
然后下面就是检查一下很多其它教程提及到的gcc的版本问题了,有时间的话可以去看看cuda9.1的官方安装教程 有一张表可以看到如下:
可以看到9.1要求的ubuntu16.04的gcc是5.3.1 然后16.04 打开终端输入 gcc -v 可以看到gcc是5.4.0 但是亲测是没有问题的,所以不用降级(有的教程里面会提到降级)
接下来就是安装cuda的runfile文件了:(文件名改成对应的文件名)然后输入密码
安装Cuda的时候,需要关闭X服务。
sudo service lightdm stop
这时,系统会出现黑屏。此时,同时按住[CTRL + ALT + F1]三个键进入命令行模式(如果不能进入命令行模式,
可以参考《alt+ctrl+F1黑屏 ,解决方案》),
然后cd 到cuda的目录下然后按照下面的命令运行
sudo sh cuda_9.1.85_387.26_linux.run
然后根据(一直按住回车键可以一直刷到底部)(也可以点空格可以更快的刷到底部)
然后就是出现各种是否同意的的选项,这里特别注意第二项选择 第二项就是上面提到的在cuda安装的时候安装驱动,但是这里的驱动一般会比之前安装的旧一般选择NO:然后后面有一个Xconfiguration 选项也要记得选no
其它的选项就是都是yes就可以(可以看看都是干什么的)然后就是安装路径问题(后面添加路径会用到)默认的cuda安装在 /usr/local/cuda-9.1 ,这里就使用默认的路径:
都安装完后:可以恢复到图形界面模式,
sudo service lightdm start
下面就是要把cuda的路径添加到系统的环境变量当中:(下面是tensorflow官网上面的安装要求,所以有必要先读一遍,不长)
添加路径的方法有很多方法,但是要注意环境变量的作用域问题,下面是添加永久环境变量,而且只是针对当前的用户修改(环境变量有很多坑,要小心,详细的环境变量介绍可以看这里)
sudo gedit ~/.bashrc
在打开的profile 文末中写入(上面提及的采用默认的路径下)
export PATH="$PATH:/usr/local/cuda-9.0/bin"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64"
关闭profile文件, 在终端中输入:
source ~/.bashrc
下面截图中“%PATH”打错了,害得我路径都没有了,所以一定要仔细一点(再次提醒请用cuda9.0)
配置成功后再输入 nvidia-smi 有如下的GPU信息:
安装cuDNN
cuDNN 可以在官网上下载,但是需要注册一下官网的账号才能下载,根据需要选择,目前tensorflow官网上的安装要求是cudnn7.0 我就选择如下的:libcudnn7_7.0.5.15-1+cuda9.1_amd64.deb (文件名)
为了方便没有账号的同学,我上传到csdn上了,需要的可以下载
根据你下载的文件和具体的格式不同,可以参考官网上的安装方法,这里把主要的截图如下:
所以我们这里的方法如下:(就是正常的deb的安装方式,最方便了)。
官网上面还有cudnn正确安装的测试方法,可以敲一下:(我没有找到samples,所以就没有敲了)
安装tensorflow
至此,cuda和cudnn都安装好了,下面就是开始安装tensorflow。根据官网上面的教程先安装一个libcupti-dev
这里有一点问题,cuda-command-line 我这提示“无法定位到源",所以无法安装,我就装了最后的一个(结果也好像也没有什么问题)
官网上有几种安装方式:
下面的安装就选择了最方便的 Anaconda 的方式:
1、关于anaconda的安装就更加简单了,在官网上下载linux下的安装文件,然后终端安装,一步到位
(Anaconda2-5.1.0-Linux-x86_64.sh)这是我下载sh文件名对应python2.7的
2、创建tensorflow 环境,然后激活环境
终端输入:
conda create -n tensorflow pip python=2.7 # or python=3.3, etc.
$ source activate tensorflow #每次使用的时候都是通过这个命令进入tensorfow的环境的
3、添加清华大学的Anaconda镜像源:在终端输入如下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
(tensorflow官网的安装程序是从google storage上去下载的,国内无法连接)
4、安装tensorflow
这里可以指定想要安装的版本,我这里就没有指定,直接安装最新的tensorflowGPU版本
pip instlall tensorflow-gpu
如果想要指定的版本,按如下的方式,并且把(注意python的版本的cpu和GPU的版本)
storage.googleapis.com 替换成 mirrors.tuna.tsinghua.edu.cn
(tensorflow)$ pip3 install --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.6.0-cp34-cp34m-linux_x86_64.whl
至此,GPU版本的tensorflow 都安装完成了,最后再检验一下tensorflow是否可以用GPU 使用如下的代码
from tensorflow.python.client import device_lib as _device_lib
local_device_protos = _device_lib.list_local_devices()
print [x.name for x in local_device_protos if x.device_type == 'GPU']
这里输出如下:
GPU的编号从0开始,正好是之前提到的两块泰坦。那么说明GPU版本的tensorflow已经没有什么问题了。
最后再提一下,在配置过程当中和程序运行当中,系统的环境变量一直是一个很容易忽略的地方,常常”无法找到“之类的错误都要考虑一下这个地方
这里参考很多其它的教程,有的已经找不到地方,在在巨人的肩膀上才能看的更远:
https://zhuanlan.zhihu.com/p/33089119
https://zhuanlan.zhihu.com/p/27168325
https://zhuanlan.zhihu.com/p/25429108
https://www.tensorflow.org/install/install_linux#InstallingAnaconda
https://blog.csdn.net/dearsq/article/details/51492847
宿舍