为 tensorflow 升级 CUDA 和 cuDNN 的最佳实践
Best practice for upgrading CUDA and cuDNN for tensorflow
我目前负责让 tensorflow-gpu 1.8 在我的机器上运行。直到现在我一直在使用 tf-gpu 1.2,但是由于一些必需的功能,我必须升级我的安装。
在这样做之前,我想检查一下是否有执行此操作的最佳实践。我当前的设置如下所示:
- Ubuntu 16.04
- NVIDIA GeForce GTX 1080 Ti
- NVIDIA 驱动程序版本:384.111
- Anaconda 4.4.0 Python 3
- CUDA v8.0
- cuDNN v5.1
- tensorflow-gpu v1.2
如 tf-homepage 上所写,我必须使用 CUDA v9.0 和 cuDNN v7.1。由于所有这些说明都指的是全新安装而不是更新,我不确定是否最好先卸载旧版本。
如果您遇到过同样的问题,请分享您的经验。谢谢!
参见 this documentation。他们说总是先从 cuda 中删除旧版本。
并且因为 cuda 9.1 需要驱动程序 >= 390 版本(检查 compatibility chart)。最好删除当前的驱动程序。
但不用担心,因为 390 驱动程序在安装时附带了 cuda 9.1。
现在,作为个人建议,我想删除与 nvidia / cuda 相关的几乎所有内容(不包括 python)。由于某些原因,在 Ubuntu.
中安装和设置 CUDA 时很容易搞砸
如果安装后有任何问题,请参阅,这是我之前回答过的post。
感谢@joão gabriel s.f。我能够成功卸载 CUDA 8.0/cuDNN 5.1 并安装最新版本的 tensorflow。由于整个过程对我来说有点混乱,我决定 post 快速浏览一下,也许可以帮助处于相同情况的人。
卸载
首先,我卸载了 cuda 及其所有依赖项。当我通过包管理器安装它时,我使用 apt-get 将其删除。对于 运行 文件安装,您可以检查 this。
sudo apt-get --purge remove cuda
sudo apt-get autoremove
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
此外,我检查了 /usr/local/
中的所有 cuda 文件夹并将其删除。关于cuDNN,通过删除所有cuda文件夹,相应的cuda headers和libs已经删除。
安装
先检查显卡驱动。 CUDA 9.0 使用 v384.111 驱动程序(因此不需要 390.xxx),所以我在这里无事可做。
我下载了 CUDA Toolkit 9.0 here 作为 deb(本地)。在同一个文件夹中,我执行了
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
然后设置环境变量:
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
之后我按照 here.
的描述验证了我的安装
我从压缩包中下载了 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*
启动 Python bash 后,我能够导入 tensorflow 和 运行 一个简单的图形。
再次感谢,祝您度过愉快的一周!
我目前负责让 tensorflow-gpu 1.8 在我的机器上运行。直到现在我一直在使用 tf-gpu 1.2,但是由于一些必需的功能,我必须升级我的安装。
在这样做之前,我想检查一下是否有执行此操作的最佳实践。我当前的设置如下所示:
- Ubuntu 16.04
- NVIDIA GeForce GTX 1080 Ti
- NVIDIA 驱动程序版本:384.111
- Anaconda 4.4.0 Python 3
- CUDA v8.0
- cuDNN v5.1
- tensorflow-gpu v1.2
如 tf-homepage 上所写,我必须使用 CUDA v9.0 和 cuDNN v7.1。由于所有这些说明都指的是全新安装而不是更新,我不确定是否最好先卸载旧版本。
如果您遇到过同样的问题,请分享您的经验。谢谢!
参见 this documentation。他们说总是先从 cuda 中删除旧版本。
并且因为 cuda 9.1 需要驱动程序 >= 390 版本(检查 compatibility chart)。最好删除当前的驱动程序。 但不用担心,因为 390 驱动程序在安装时附带了 cuda 9.1。
现在,作为个人建议,我想删除与 nvidia / cuda 相关的几乎所有内容(不包括 python)。由于某些原因,在 Ubuntu.
中安装和设置 CUDA 时很容易搞砸如果安装后有任何问题,请参阅
感谢@joão gabriel s.f。我能够成功卸载 CUDA 8.0/cuDNN 5.1 并安装最新版本的 tensorflow。由于整个过程对我来说有点混乱,我决定 post 快速浏览一下,也许可以帮助处于相同情况的人。
卸载
首先,我卸载了 cuda 及其所有依赖项。当我通过包管理器安装它时,我使用 apt-get 将其删除。对于 运行 文件安装,您可以检查 this。
sudo apt-get --purge remove cuda
sudo apt-get autoremove
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
此外,我检查了 /usr/local/
中的所有 cuda 文件夹并将其删除。关于cuDNN,通过删除所有cuda文件夹,相应的cuda headers和libs已经删除。
安装
先检查显卡驱动。 CUDA 9.0 使用 v384.111 驱动程序(因此不需要 390.xxx),所以我在这里无事可做。
我下载了 CUDA Toolkit 9.0 here 作为 deb(本地)。在同一个文件夹中,我执行了
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
然后设置环境变量:
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
之后我按照 here.
的描述验证了我的安装我从压缩包中下载了 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*
启动 Python bash 后,我能够导入 tensorflow 和 运行 一个简单的图形。
再次感谢,祝您度过愉快的一周!