Hyper-V虚拟机&WSL中Tensorflow检测不到GPU设备的解决方案

本文最后更新于:2024年5月23日 晚上

前言

在Hyper-V虚拟机或WSL中,虽然已经安装了GPU驱动且 nvidia-smi 命令可以正常输出,但在使用TensorFlow时可能会提示检测不到GPU设备:

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

参考GitHub上的解决方法,可以按照以下步骤进行解决:

解决步骤

  1. 重新安装TensorFlow包和依赖

    1
    pip install tensorflow[and-cuda]

    此时,pip会自动安装最新版本的TensorFlow,但该版本可能存在兼容性问题。

  2. 安装特定版本的TensorFlow

    1
    pip install tensorflow==2.15

测试TensorFlow

随后执行以下命令测试TensorFlow,可以看到正常输出:

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

按照以上步骤,TensorFlow应该能够正确检测到GPU设备并正常使用。