我在 Windows 11 设置中无法让 TensorFlow 检测到我的 NVIDIA GeForce RTX 4090 GPU。尽管遵循了各种步骤和故障排除指南,TensorFlow 仍然无法识别我的 GPU。
提出问题 我正在尝试将 TensorFlow 与 NVIDIA GeForce RTX 4090 GPU 结合使用来执行深度学习任务。我已经按照要求安装了 CUDA 11.8 和 cuDNN 8.6。但是,TensorFlow 无法检测到 GPU,所有计算都在 CPU 上执行。
我希望 TensorFlow 能够检测我的 GPU 并使用它进行计算。以下是我已采取的步骤的摘要:
已安装的 NVIDIA 驱动程序:
确保安装了最新的 NVIDIA 驱动程序。使用 nvidia-smi 进行验证。 已安装 CUDA 工具包 11.8:
从 NVIDIA 官方网站下载并安装 CUDA Toolkit 11.8。 已安装 cuDNN 8.6:
下载并安装 cuDNN 8.6,确保文件已复制到 CUDA 目录。 安装的 TensorFlow:
最初安装了tensorflow-gpu,但遇到了问题,所以我转而安装tensorflow(因为TensorFlow 2.x中默认包含GPU支持)。 已验证安装:
使用 NVIDIA 提供的 CUDA 示例验证 CUDA 和 cuDNN 是否已正确安装并正常运行。 设置环境变量:
确保在系统路径中正确设置 CUDA 和 cuDNN 的环境变量。 用于验证的Python代码:
蟒蛇
`import tensorflow as tf
print("TensorFlow version:", tf.__version__)
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
# Simple matrix multiplication to test computation
a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[1.0, 1.0], [1.0, 1.0]])
c = tf.matmul(a, b)
print("Result of matrix multiplication:\n", c)`
输出:
`No GPU found.
2024-07-31 14:23:01.757763: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: SSE SSE2 SSE3 SSE4.1 SSE4.2 AVX AVX2 AVX512F AVX512_VNNI AVX512_BF16 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Result of matrix multiplication:
tf.Tensor(
[[1. 3.]
[3. 7.]], shape=(2, 2), dtype=float32)`
尽管做出了这些努力,TensorFlow 仍然无法检测到 GPU。这是我的任务管理器的屏幕截图,显示 GPU 处于活动状态并被系统识别:
标签: 张量流、GPU、cuda、cudnn、windows-11
任何有关解决此问题的帮助或指导将不胜感激。预先感谢您的帮助!
致以诚挚的问候,
请检查以下附加事项: TensorFlow 2.10 是在本机 Windows 上支持 GPU 的最后一个 TensorFlow 版本。从 TensorFlow 2.11 开始,您需要在 WSL2 中安装 TensorFlow 或使用 TensorFlow-DirectML-Plugin。
安装 CUDA 和 cuDNN: 确保您安装了正确版本的 CUDA 和 cuDNN。 安装 TensorFlow 2.10(因为 2.10 以上的任何版本都不支持 Windows 上的 GPU):
使用以下 Python 代码验证 TensorFlow 是否可以检测到您的 GPU:
蟒蛇 复制代码 将张量流导入为 tf 打印(tf.config.list_physical_devices('GPU'))