欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-05 22:11:18
...

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,故做如下选择。
    Ubuntu14.04下安装tensorflow1.7 (Cuda9.0+cudnn7.0)

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

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

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

  • 按照流程按照即可
    Ubuntu14.04下安装tensorflow1.7 (Cuda9.0+cudnn7.0)
    这里的第二项,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 文件。
    Ubuntu14.04下安装tensorflow1.7 (Cuda9.0+cudnn7.0)

  • 将 .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显卡驱动信息