Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CUDA和CuDNN版本与Tensorflow2.4.1冲突_Python_Tensorflow_Ubuntu 20.04 - Fatal编程技术网

Python CUDA和CuDNN版本与Tensorflow2.4.1冲突

Python CUDA和CuDNN版本与Tensorflow2.4.1冲突,python,tensorflow,ubuntu-20.04,Python,Tensorflow,Ubuntu 20.04,我希望有人为您的TF2.4.1环境提供RTX 30X0。 更具体地说,我想知道nvidia驱动程序,CUDA和CuDNN版本。还有TF2.4.1安装方式 我正在努力将tensorflow2.4.1安装到我的PC中,它有以下功能。 操作系统:Ubuntu 20.04(版本不重要) CPU:Ryzen 5600X GPU:RTX 3070 根据以下站点,我知道TF2.4.1中的要求是CUDA11.0 w/CuDNN8.0.4 然而,NVIDIA驱动程序版本457是RTX 3070的第一个版本,当前

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

我正在努力将tensorflow2.4.1安装到我的PC中,它有以下功能。 操作系统:Ubuntu 20.04(版本不重要) CPU:Ryzen 5600X GPU:RTX 3070

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

然而,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

安装CUDA11.2 w/CuDNN8.1.0后,我通过pip将tensorflow安装到pyenv。但是,TF在CPU上运行。我通过返回“[]”的“tf.config.list_physical_devices('GPU')确认 如我所料。 只要TF2.4.1关于NVIDIA环境的限制有效,您认为我不能在此电脑上创建TF环境吗


我尝试了很多新安装Ubuntu的模式。有一次我安装Vr.450时出现DPKG错误,但我会再试一次。

我有一个像你一样的ubuntu 20.4。但是为了让tensorflow能够很好地看到GPU,最终对我起作用的是: tensorflow gpu 2.2.0 cuda 10.1 cudnn 7.6
所有这些都配有460.73.01版的NVIDIA硬盘,谢谢大家。我发现我的问题解决如下

安装Ubuntu 20.04后,安装最新的NVIDIA驱动程序。 (可能不需要,因为它将随CUDA安装自动安装。)

安装TF2.4.1需要的CUDA11.0。 这次我引用的是runfile[local],而不是我之前失败的deb[local]。

*警告“已找到驱动程序的现有package manager安装”。出现在上面一行,我中止了它。改为在下面做

sudo sh ./cuda_11.0.3_450.51.06_linux.run --toolkit --silent –-override
确认usr/local/cuda-11.0/bin是否存在,并编辑bashrc

sudo vim ~/.bashrc
将以下两行添加到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。提前下载一个皮重库。

按照说明安装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\u FORCE\u GPU\u ALLOW\u GROWTH=true


然后进行分类。

您可以使用较新的驱动程序和较旧的CUDA工具包。这里没有限制,谢谢你在这么短的时间内回复。在安装驱动程序版本460之后,我安装了CUDA11.0,但在CUDA安装过程中,出现了许多错误,其中包含单词“450”。这让我相信CUDA11.0只需要450版。无论如何,我会重新安装Ubuntu并尝试安装ver.450。我将对结果发表评论。
CUDA Toolkit 11.3
附带了一个兼容的驱动程序。有什么阻止使用它的吗?谢谢你,卢卡斯。正如我所发布的,TF2.4.1仅适用于CUDA11.0。今天,我在CUDA11.2上试用了它,但TF只与CPU一起工作,它没有使用RTX 3070。您可能知道,老TF2一直在使用CUDA10.1,无论哪一个CUDA版本是最新的。感谢您回答我的问题。在这种情况下,一个重要因素是安培架构GPU,如RTX 30X0系列。您的电脑是否配备RTX 30X0系列?我还有一台GTX 1070的电脑,它在CUDA10.1上有TF2.2。它工作得很好。我有一个RTX2060。。。但是我在github的评论中看到的配置是经过大量投票的。我自己在遇到这件事之前遇到了太多的麻烦。我完全能理解你。当我用GTX1070安装当前的PC时,这是一场噩梦。其中一个原因是,这是4年前,所以在日本网站上的信息较少。无论如何,我想我找到了RTX 3070 w/CUDA11.0和ver.460的解决方案。我明天会把我做的事发出去。Thx.it适用于Ubuntu20.10,这让我震惊了3天。如果有人想删除之前的混乱,请使用
sudo apt get--purge remove'cuda*'
sudo apt get--purge remove'libnvidia*'
sudo apt get--purge remove'libnvidia*'
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
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
import tensorflow as tf
print(tf.__version__)
print(tf.config.list_physical_devices('GPU'))
print(tf.test.gpu_device_name())