TensorFlow 2.12 WSL2 跳过注册 GPU 设备(由于某种原因无法检测到 cuDNN)

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

在 TensorFlow 论坛上发现类似问题HERE 没有解决方案。

我在同一系统(本地 Windows 11)上运行 PyTorch 2.0.0 和 CUDA 11.8,没有任何问题,但在 WSL2 Ubuntu 中遇到 TensorFlow 2.12 未检测到 GPU 的问题。

系统详情:

  • RTX 3060
  • 带有 WSL2 (Ubuntu) 的 Windows 11 专业版

已完成以下工作:

  • 从 Nvidia 的网站HERE 为我拥有的 GPU 安装 GPU 驱动程序
  • 遵循 TensorFlow 网站的分步说明这里
  • 参考THIS YouTube教程

我要运行的代码:

import tensorflow as tf

print('TensorFlow Version : ',tf.__version__)
print('GPU Name : ',tf.config.list_physical_devices('GPU'))

出现以下错误:

Everything之后,系统因为某些原因无法获取cuDNN。 (环境名称不同,因为我卸载了 WSL 并再次从头开始尝试,仍然遇到同样的问题。)

如何解决这个问题并在 GPU 上运行 TensorFlow 2.12?

tensorflow gpu wsl-2 cudnn
1个回答
0
投票

经过大量的试验和错误,这行得通!

  • 第 1 步:转到您的 conda 环境
  • 第 2 步:运行以下命令

'''

pip uninstall tensorflow

'''

  • 第三步:重启系统
  • 第四步:进入你的conda环境
  • 第 5 步:运行以下命令

'''

cd $CONDA_PREFIX/etc/conda/activate.d

nano env_vars.sh

'''

  • 第 6 步:删除那里的所有内容并粘贴以下内容

'''

CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib

'''

  • 确保删除所有空格,所以看起来像这样

  • 第 7 步:使用 Control+X -> Y -> Enter 保存并退出

  • 第 8 步:运行以下命令

'''

pip install --upgrade pip

pip install tensorflow==2.12.*

'''

  • 第 9 步:重启系统

  • 第 10 步:使用以下命令验证

'''

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

''' 您应该有一个带有以下行的输出

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

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