ubuntu16.04 安装tensorflow-gpu

时间:2022-08-01 17:20:23
第一步 安装NVIDIA显卡驱动
1. 打开terminal(怎么打开?纳尼问度娘!),输入sudo apt-get update 更新系统(NVIDIA比较新的内核版本和ubuntu新版本有一定的对应关系;注意更新之后下次打开系统的时候在ubuntu选择页面选择新的内核的ubuntu,那个是新的?当然是数字大的那个就是啊)
2. 安装显卡驱动 打开 系统设置-软件更新-附加驱动,选择见图:
ubuntu16.04 安装tensorflow-gpu
3.这里重启电脑!!!
打开NVIDIA X Server Settings,图像如下就是安装成功啦(网上其他验证方法都可以参考啦)
ubuntu16.04 安装tensorflow-gpu
ps:如果中途哪里弄错了,还是可以卸载原驱动重新安装滴,卸载方法:
sudo apt-get remove --purge nvidia --*,重新安装请看第一步即可。

第二步 安装CUDA8.0
1.下载CUDA8.0
CUDA 8.0下载地址:
选择linux的deb版本,选择如下图,网上也有选择runfile版本,deb版本下好后是一个beb文件,runfile下好后是一个run文件,这两种都可以
ubuntu16.04 安装tensorflow-gpu

2. gcc降低版本,其实ubuntu16.04自带的gcc5.4是支持我们下的这个比较新cuda8.0.61版本的,不降级是可以的。
由于这里gcc5.0以上版本和将要安装的环境不匹配,而ubuntu16.04自带gcc5.0以上版本,所以这里可以先在终端输入:
gcc --version
从而查看gcc的版本,如果在5.0以下就请调到下一个小步骤。降版本请在终端输入下面的几行命令:
ubuntu16.04 安装tensorflow-gpu
再在终端输入:
gcc --version
结果如下:
ubuntu16.04 安装tensorflow-gpu

3. CUDA8.0的安装
在下载好的文件夹所在目录里打开终端。在终端输入如图所示的三行命令:
ubuntu16.04 安装tensorflow-gpu
安装好之后,会在ubuntu的/usr/local目录下出现一个名字叫cuda-8.0的文件夹和一个名字叫cuda的文件夹快捷方式,这个快捷方式指向cuda-8.0,其实就是点进去后就是cuda8.0里面的东西
4. 配置环境变量:
先在终端执行如下命令打开配置环境变量的环境:
sudo gedit ~/.bashrc
再在打开的文档的最低端加上两行命令:
ubuntu16.04 安装tensorflow-gpu
保存并关闭,执行如下命令使环境生效:
source ~/.bashrc

真正安装我加的是这三行命令,应该都可以:

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-8.0

export PATH=/usr/local/cuda-8.0/bin:$PATH

安装cudnn

去官网找对应的cuda的cudnn,应该只要下一个就行了吧,下载好后放在home目录下,

输入

tar xvzf cudnn-8.0-linux-x64-v6.0-ga.tgz(这个是你下好的cudnn文件名字,因人而异,就是个解压操作,也可以鼠标右击解压)比如解压 解压后会看到一个cuda文件夹,里面包含了include以及lib64两个子目录里面放了几个文件。

接下来这三条说是命令其实就是复制操作,就是把你解压出来的cudnn几个文件复制到指定的文件夹中。在home目录下,就是直接进终端所在的目录执行:

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/  usr/local/cuda/lib64/libcudnn*  回车 应该就配置完了。

但在有的博客cudnn下了四个文件:其他大部分教程应该都只下了第一个,是不是因为deb和runfile的不同,如果到上面还没装好,那我们就继续下其他三个,

ubuntu16.04 安装tensorflow-gpu

2. 安装和验证
在下载目录下打开终端,执行下图四行代码进行解压其中一个压缩包并配置文件,图中是cuda9和cudnn7。这个无所谓,只是演示而已:

ubuntu16.04 安装tensorflow-gpu

接下来解压剩下的三个安装包:

ubuntu16.04 安装tensorflow-gpu

下面进行安装验证,如图:也可以找个卷积网络跑一下
ubuntu16.04 安装tensorflow-gpu

第四步 安装tensorflow
1. 首先安装Anaconda3-4.2.0-Linux-x86_64,64位系统,它对应的python是3.5,而4.3对应的是python3.6,下好后是一个.sh文件
参考下面这个链
https://blog.csdn.net/u012318074/article/details/77074665

2:安装 pip install tensorflow-gpu==1.4.0
卸载:pip uninstall tensorflow-gpu==1.4.0
用pip安装是最容易的,用pip安装只会装 tensorflow-gpu,其他的依赖比如我们上面装得cuda和cudnn还得自己装,所以还有一种conda安装
conda install tensorflow-gpu==1.3
注意这里我好像只能装gpu1.3, 装1.4提示找不到包,用conda装tensorflow-gpu==1.3,它还会自动把运行tensorflow-gpu1.3的一些依赖比如cuda8.0和cudnn6给装上,非常方便,就不用上面我们自己手动装cuda和cudnn,好像用conda安装都是这样,一次性给你解决但有时找不到对应的包,但是用conda安装虽然我能运行成功tensorflow-gpu,测试了一个卷积网络,但是在我找的ctpn程序中运行却有问题,提示找不到CUDA_HOME和一些环境变量问题,感觉还是自己手动安装比较稳妥,
我是用conda安装的tensorflow-gpu,它自动安装的cuda和cudnn安在/home/wjc/anaconda3/pkgs这个目录下
了,我又手动装了cuda8.0,系统自动安在/usr/local目录下,并添加环境变量后,可以执行我的ctpn,但是后来我又把cuda的环境变量给删除了,又可以了,真是奇怪。但是我没有手动装cudnn,懒的装了,估计前面用了conda安装是已经装好了cudnn

总结一下:你用conda装tensoeflow-gpu超级方便,自动给你装cuda和cudnn,而且环境变量也不用管,应该是自动弄好
要么你手动装cuda。先用conda装,有问题再手动装cuda
这里特别注意tensorflow的版本,根据官方文档(如下图),在博客里所说的配置下可以安装tensorflow1.4.0版本,博主就好几次因为安装了最新的tensorflow导致安装失败好几天找不到原因。

这里附上官方安装说明地址:

https://tensorflow.google.cn/install/install_linux

ubuntu16.04 安装tensorflow-gpu
好啦,等待一会就安装好啦,接下来就是验证了。

第五步 安装验证
在终端输入 python ,即转入python输入,
然后输入代码:
[python] view plain copy
  1. import tensorflow as tf  
  2. hello = tf.constant('Hello, Word!')  
  3. sess = tf.Session()  
  4. print(sess.run(hello))  
如果输出‘Hello, World!’即说明安装成功~
大功告成啦