【问题标题】:CUDA and CuDNN version conflict against Tensorflow2.4.1CUDA 和 CuDNN 版本与 Tensorflow2.4.1 冲突
【发布时间】:2021-07-25 15:07:33
【问题描述】:

我希望有人为您的 TF2.4.1 环境提供 RTX 30X0。 更具体地说,我想知道 nvidia 驱动程序、CUDA 和 CuDNN 版本。毕竟也是TF2.4.1的安装方式。

我正在努力将 tensorflow2.4.1 安装到我的电脑中,它有以下内容。 操作系统:Ubuntu 20.04(版本无关紧要) CPU:锐龙5600X GPU:RTX 3070

根据以下站点,我知道 TF2.4.1 的要求是 CUDA11.0 w/ CuDNN8.0.4。

https://www.tensorflow.org/install/gpu

但是,NVIDIA 驱动程序版本 457 是 RTX 3070 的第一个版本,当前最新版本是 Ver.460。因此,我安装了 460 版,并且在终端上返回了“nvidia-smi”。 (您可能知道,CUDA 版本 11.2 未与此驱动程序一起安装。)

| NVIDIA-SMI 460.73.01 驱动程序版本:460.73.01 CUDA 版本:11.2 |

以下来自 NVIDIA 网站的支持矩阵表明 CUDA 11.0 适用于驱动程序版本 450。这意味着它不能是 RTX 3070 的版本。对于 RTX 3070,我认为 CUDA 11.2 或更高版本是支持 Ver.460 的版本。

https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html

安装 CUDA11.2 w/CuDNN8.1.0 后,我通过 pip 将 tensorflow 安装到 pyenv。但是,TF 在 CPU 上运行。我通过返回 '[]' 的 'tf.config.list_physical_devices('GPU')' 确认 正如我所料。 只要TF2.4.1对NVIDIA环境的限制有效,你以为我不能在这台PC上做TF环境吗?

我在全新安装的 Ubuntu 中尝试了很多模式。一旦我无法安装ver.450并出现DPKG错误,但我会再试一次。

【问题讨论】:

  • 您可以使用较旧的 CUDA 工具包来使用较新的驱动程序。那里没有限制,
  • 感谢您在这么短的时间内回复。我在安装驱动程序 ver.460 后安装了 CUDA11.0,但是在安装 CUDA 的过程中,发生了许多带有单词 '450' 的错误。这让我相信 CUDA11.0 只需要 ver.450。无论如何,我将重新安装 Ubuntu 并尝试安装 ver.450。我会对结果发表评论。
  • CUDA Toolkit 11.3 带有兼容的驱动程序。有什么妨碍使用它的吗?
  • 谢谢你,卢卡斯。就像我发布的那样,TF2.4.1 仅适用于 CUDA11.0。今天在CUDA11.2上试了一下,TF只用CPU,没有用RTX 3070。你可能知道,老TF2一直在CUDA10.1上工作,不管哪个CUDA版本是最新的。

标签: python tensorflow ubuntu-20.04


【解决方案1】:

我有一个像你一样的 ubuntu 20.4。但是为了让 tensorflow 可以很好地看到 GPU,最终对我有用的是: 张量流GPU 2.2.0 库达 10.1 库顿 7.6 并且全部配备 460.73.01 版本的 NVIDIA 驱动器

【讨论】:

  • 感谢您回答我的问题。在这种情况下,重要的因素之一是像 RTX 30X0 系列这样的安培架构 GPU。您的 PC 是否配备了 RTX 30X0 系列?我还有一台 GTX 1070 的 PC,它在 CUDA10.1 上有 TF2.2。它工作得很好。
  • 我有一个 rtx 2060 ......但是我在 github 评论上看到的配置得到了大量投票。我自己在遇到这个之前遇到了太多麻烦。
  • 我完全可以理解你。当我用 GTX1070 设置当前的 PC 时,简直是噩梦。原因之一是因为那是 4 年前,所以日本网站上的信息较少。无论如何,我想我找到了这个带有 CUDA11.0 和 ver.460 的 RTX 3070 的解决方案。我明天会发布我所做的。谢谢。
【解决方案2】:

谢谢大家。我发现我的问题解决如下。

安装 Ubuntu 20.04 后,安装最新的 NVIDIA 驱动程序。 (也许不需要,因为它会在安装 CUDA 时自动安装。)

sudo ubuntu-drivers devices
sudo apt-get install --no-install-recommends nvidia-driver-460
nvidia-smi
sudo reboot

安装TF2.4.1想要的CUDA11.0。 这次我参考的是 runfile[local] 而不是 deb[local] ,我之前遇到过失败。 https://developer.nvidia.com/cuda-11.0-update1-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=runfilelocal

sudo apt update
wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run
sudo sh cuda_11.0.3_450.51.06_linux.run

*WARNING ‘找到驱动程序的现有包管理器安装。’ 出现在上面一行,我中止了它。改为在下面完成。

sudo sh ./cuda_11.0.3_450.51.06_linux.run --toolkit --silent –-override

确认usr/local/cuda-11.0/bin是否存在并编辑bashrc。

sudo vim ~/.bashrc

将以下 2 行添加到 bashrc。

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

重新加载 bashrc

source ~/.bashrc

安装 CuDNN。提前下载 tared 库。 https://developer.nvidia.com/rdp/cudnn-archive

cd Downloads
tar -xzvf cudnn-11.0-linux-x64-v8.0.4.30.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
sudo apt update

按照https://www.tensorflow.org/install/pip?hl=ja 的指示安装TF2.4.1。

sudo apt install python3-dev python3-pip python3-venv
cd Documents/ML/tf-test1
python3 -m venv test1
source test1/bin/activate
pip install --upgrade pip
pip list
pip install --upgrade tensorflow

检查 TF 是否正确安装。

import tensorflow as tf
print(tf.__version__)
print(tf.config.list_physical_devices('GPU'))
print(tf.test.gpu_device_name())

当我执行我的 CNN 模型时,“无法获得卷积算法”。这可能是因为 cuDNN 未能初始化“发生在 fit() 中。然后我像往常一样在下面做。

export TF_FORCE_GPU_ALLOW_GROWTH=true

然后整理出来。

【讨论】:

  • 它适用于 ubuntu 20.10,我被击中了 3 天。
  • 如果有人想删除以前的烂摊子,请使用sudo apt-get --purge remove 'cuda*' sudo apt-get --purge remove 'nvidia*' sudo apt-get --purge remove 'libnvidia*'
猜你喜欢
  • 1970-01-01
  • 2019-05-04
  • 2021-04-13
  • 1970-01-01
  • 2020-10-04
  • 2020-01-07
  • 2018-01-24
  • 1970-01-01
  • 2020-03-27
相关资源
最近更新 更多