为tensorflow升级CUDA和cuDNN的最佳实践

Doc*_*ven 6 cuda upgrade tensorflow cudnn

我目前负责让tensorflow-gpu 1.8在我的机器上工作。到目前为止,我一直在使用tf-gpu 1.2,但是由于某些必需的功能,我必须升级我的安装。

在这样做之前,我想检查是否有最佳实践。我当前的设置如下所示:

  • Ubuntu 16.04
  • NVIDIA GeForce GTX 1080 Ti
  • NVIDIA驱动程序版本:384.111
  • 适用于Python 3的Anaconda 4.4.0
  • CUDA v8.0
  • cuDNN v5.1
  • 张量流gpu v1.2

正如在tf主页上所写,我将不得不使用CUDA v9.0以及cuDNN v7.1。由于所有这些说明都是针对全新安装而不是更新,因此,我不确定是否最好先卸载旧版本。

如果您已经遇到相同的问题,请分享您的经验。谢谢!

Doc*_*ven 8

感谢@joãogabriel sf,我能够成功卸载CUDA 8.0 / cuDNN 5.1并安装了最新版本的tensorflow。由于整个过程令我有些困惑,因此我决定发布一个快速演练,并可能为处于相同情况的人们提供帮助。

拆装

首先,我卸载了cuda及其所有依赖项。通过软件包管理器安装它时,我使用apt-get将其删除。对于runfile安装,您可以检查this

sudo apt-get --purge remove cuda
sudo apt-get autoremove
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
Run Code Online (Sandbox Code Playgroud)

另外,我检查了所有cuda文件夹/usr/local/并将其删除。关于cuDNN,通过删除所有cuda文件夹,已删除了相应的cuda标头和库。

安装

首先检查图形卡的驱动程序。CUDA 9.0可与v384.111驱动程序配合使用(因此不需要390.xxx),因此在这里我无事可做。

在这里以deb(本地)下载了CUDA Toolkit 9.0 。在同一文件夹中,我执行了

dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
Run Code Online (Sandbox Code Playgroud)

然后设置环境变量:

export PATH=${PATH}:/usr/local/cuda-9.0/bin
export CUDA_HOME=${CUDA_HOME}:/usr/local/cuda:/usr/local/cuda-9.0
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64
Run Code Online (Sandbox Code Playgroud)

之后,我按照此处所述验证了我的安装。

我从档案库中以tarball下载cuDNN 7.1,并通过安装

tar -xzvf cudnn-9.0-linux-x64-v7.1.tgz
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*
Run Code Online (Sandbox Code Playgroud)

启动Python bash之后,我能够导入tensorflow并运行一个简单的图形。

再次感谢您,祝您度过愉快的一周!


joã*_*.f. 7

请参阅此文档。他们说总是先从 cuda 中删除旧版本。

并且由于 cuda 9.1 需要驱动程序 >= 390 版本(检查兼容性图表)。最好删除您当前的驱动程序。但是不用担心,因为 390 驱动程序在安装时附带了 cuda 9.1。

现在,作为个人建议,我会说删除与 nvidia/cuda 相关的几乎所有内容(不包括 python)。由于某些原因,在 Ubuntu 中安装和设置 CUDA 时很容易搞砸。

如果安装后有任何问题,请参阅ubuntu-16-04-lts-login-loop-after-updating-driver-nvidia,这是我前段时间回答的帖子。