前言

  因为需要更新到TensorFlow 1.11.0,因此需要更改一下之前配置的服务器。TensorFlow 1.11.0版本仅仅只支持cuda 9.0,因此需要卸载之前安装的cuda 8.0,以下是本次修改的步骤。

卸载cuda 8.0

1
2
3
4
# 关闭图形界面
$ sudo service lightdm stop
$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
$ sudo rm -rf /usr/local/cuda-8.0

  以上步骤完成了删除cuda-8.0的操作。

安装cuda 9.0

  现在cuda已经更新到了10.0,但是我们需要TensorFlow只支持到9.0,因此我们需要下载9.0版本,可以到官网的历史版本中寻找。下载完后传输到服务器上,然后就可以进行安装了。

1
$ sudo bash cuda_9.0.176_384.81_linux.run

  需要注意的是,不要安装驱动,因为驱动已经安装过了,因此不需要再安装了。

注:如果不小心把驱动弄没了的话,可以使用cuda9.2版本安装一下驱动,然后删除cuda即可,因为cuda9.0版本中内置的驱动内核不匹配,所以不能使用这个版本的驱动。

安装cudnn 7.4

  去官网下载最新的cudnn,如果没有账号的话需要注册账号。我下载的是liunx源代码版本的,解压移动到cuda文件夹中即可。

1
2
3
4
$ tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz
$ cd cuda
$ sudo cp lib64/* /usr/local/cuda/lib64/
$ sudo cp include/* /usr/local/cuda/include/

服务器下各账户要处理的事情

环境变量

  弄好完整的cuda和cudnn后,每个账户需要修改自己的环境变量。

1
$ sudo vim ~/.bashrc

  在环境变量的最后,加上如下代码,如果之前有,则只需要修改一下就行:

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

  激活环境变量

1
$ source ~/.bashrc

安装TensorFlow

  安装TensorFlow 1.11.0版本

1
2
# 如果需要卸载之前的话:pip uninstall tensorflow-gpu
$ pip install tensorflow-gpu==1.11.0

参考博客

史上最全的ubuntu16.04安装nvidia驱动+cuda9.0+cuDnn7.0
ImportError: libcublas.so.9.0: cannot open shared object file: No such file…问题原因及解决方法