Pytorch 与 Tensorflow CUDA 版本

问题描述 投票:0回答:2

我目前安装了 Pytorch(版本 1.13.1+cu116)。它检测 GPU 并与 CUDA 版本 11.6 配合良好。以下是我运行

nvidia-smi
的输出:

我现在正在尝试设置具有 GPU 支持的张量流。但是,它不适用于 CUDA 版本 11.6(使用

tf.config.list_physical_devices
时无法检测到我的 GPU),并且经过进一步检查,最新版本的 tensorflow 仅支持 CUDA 11.2。

如果我尝试安装 CUDA 版本 11.2,安装程序会退出并提示“您已经安装了较新版本的 NVIDIA Frameview SDK”,考虑到我为 pytorch 安装了 CUDA 11.6,这是可以理解的。我的问题是,如果我卸载 CUDA 11.6 并为tensorflow 安装 CUDA 11.2,这会破坏我的 pytorch GPU 支持吗?或者 pytorch 向后兼容以前的 CUDA 版本吗?让 TensorFlow pytorch 与我的 GPU 一起工作的最佳方法是什么,因为它们都支持不同的 CUDA 版本?

非常感谢任何帮助。

tensorflow machine-learning pytorch gpu
2个回答
3
投票

PyTorch 通常向后兼容以前的 CUDA 版本,因此卸载 CUDA 11.6 并安装 CUDA 11.2 不应破坏 PyTorch GPU 支持。但是,您可能需要使用指定的适当 CUDA 版本重新安装 PyTorch 才能正常工作。

要让 TensorFlow 和 PyTorch 与您的 GPU 配合使用,您可以在系统中使用多个版本的 CUDA 和 cuDNN(TensorFlow 和 PyTorch 需要该库才能在 GPU 上运行)。您可以为 TensorFlow 安装 CUDA 11.2 和 cuDNN 8.0.4(支持 CUDA 11.2 的最新版本),并为 PyTorch 保留 CUDA 11.6 和 cuDNN 11.0。然后,您可以通过指定正确的环境变量或为每个库创建单独的 conda/虚拟环境,为每个库使用适当版本的 CUDA 和 cuDNN。

您还可以使用 Docker 并为每个具有适当 CUDA 和 cuDNN 版本的库创建一个容器,然后单独使用它们。


0
投票

有一些提到更高版本不起作用。

所以,我安装了python 3.8。

然后,我安装如下。

conda install -y pytorch==1.12.0 torchvision==0.13.0 -c pytorch

CUDA 11.2 与 pytorch gpu 运行良好。

我与nvidia-smi确认了。

© www.soinside.com 2019 - 2024. All rights reserved.