Ubuntu14.04下安装tensorflow1.7 (Cuda9.0+cudnn7.0)

Ubuntu14.04下安装tensorflow1.7

  Tensorflow 更新的速度有点快,不愧是谷歌。我目前的版本还是 1.2,前几天看新闻1.8都要出来了。趁个新鲜,凑个热闹,决定给工作站重装 Tensorflow,就装最新的 v1.7。为了更新 Tensorflow,并安装它的 GPU 版本,需要重新安装 Cuda 和 cudnn。
  请注意,本文具有时效性,若相关依赖库有所更新,请参照 Tensorflow 的安装教程选择相应版本的 Cuda 和 cudnn。


Cuda 9.0

  • 打开Cuda 9.0的下载页面,并按照自己的需求,选择相应的版本。因为我的工作站是64位的Ubuntu14.04,故做如下选择。
    这里写图片描述

  • 建议选则 deb(local) 安装,下载好deb文件。如果不放心下载好的文件是否正确,可以使用 md5sum 命令查看,然后对照这里,如果不一样就需要重新下载。

$ md5sum cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb

这里写图片描述

  • 按照流程按照即可
    这里写图片描述
    这里的第二项,cuda-repo-xx 文件夹请在 /var/ 路径下查找。

Cuda 安装过程遇到的错误

在执行 sudo apt-get install cuda 时遇到如下错误

cuda : Depends: cuda-7.0 (>= 7.0.165) but it is not going to be installed

解决方案

这是由于Ubuntu14.04的源太旧或不可访问导致的,可通过更新源解决。

  • 备份原始源文件
$ sudo cp /etc/apt/sources.list /etc/apt/sources_backup.list
  • 在源文件最后添加如下内容
$ sudo vim /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
  • 重新更新和安装
$ sudo apt-get update
$ sudo apt-get install cuda

Cuda环境变量配置

  • /etc/profile 最后添加两行
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

cudnn v7.0

  • 目前cudnn最新版本是7.1,在这里可以看到历史版本,选择 v7.0 下载,得到 cudnn-9.0-linux-x64-v7.tgz 文件。
    这里写图片描述

  • 将 .tgz 文件解压

$ tar -xzvf cudnn-9.0-linux-x64-v7.tgz
  • lib64 文件夹下的所有文件复制到 /usr/local/cuda-9.0/lib64/
$ sudo cp lib64/lib* /usr/local/cuda-9.0/lib64/
  • include 文件夹下的 cudnn.h 复制到 /usr/local/cuda-9.0/include/
$ sudo cp include/cudnn.h /usr/local/cuda-9.0/include/

Tensorflow 1.7

  • 安装 GPU 版本的 Tensorflow 1.7
$ sudo pip install tensorflow-gpu # Python 2.7; GPU support
  • 尝试调用
$ python
>>> import tensorflow as tf
>>> tf.__version__
'1.7.0'

其他问题

Q1 找不到显卡

在重装CUDA和cudnn之后发现一个问题,输入nvidia-smi会报错:

Failed to initialize NVML: Driver/library version mismatch

原本以为是显卡驱动出问题了,查看显卡驱动版本,没问题。

cat /proc/driver/nvidia/version

其实只需要重启工作站即可。

sudo reboot

重启回来一切正常。

本问题的解决方案来自 stackflow


参考资料

【Tensorflow】Installing Tensorflow
【博客】Caffe+Ubuntu14.04+CUDA7.5安装笔记
【博客】下载cuDNN历史版本方法
【博客】查看 CUDA cudnn 版本
【博客】ubuntu14.04+caffe+cuda7.5 出现unmet dependencies错误
【博客】Ubuntu 16.04 上安装 CUDA 9.0 详细教程
【博客】Ubuntu 查看Nvidia显卡驱动信息

猜你喜欢

转载自blog.csdn.net/songbinxu/article/details/80108334