解决在Windows中安装tensorflow2.10无法检测到GPU的问题
官方给出的Windows本地安装方式
- 更新显卡驱动到最新。
- 安装anaconda或miniconda作为python环境的管理工具。
- 创建新的环境tf:
conda create --name tf python=3.9
,然后进入改环境:conda activate tf
。 - 更新pip:
pip install --upgrade pip
- 安装cuda工具包和cudnn库:
conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0
- 安装tensorflow,并确保numpy版本低于2.0:
pip install "tensorflow<2.11" "numpy<2.0"
- 验证CPU功能是否正常:
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
。若正常,应有类似下面的输出。 - 验证GPU功能是否正常:
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
.若正常,应有类似下面的输出:
特别注意,完成这些安装之后不要再安装tensorflow-intel
,否则会破坏当GPU功能。
问题症状
运行上述步骤中的第8步验证GPU功能是否正常时,命令行输出的结果是空列表[]
。这表示tensorflow并没有检测到GPU设备。
移除tensorflow-intel:
bash
pip uninstall tensorflow-intel
解决方式
更新显卡驱动、安装CUDA toolkit等操作都无法解决问题时,请尝试这个办法。
移除当前环境中和tensorflow密切相关的库后,重新安装低于2.11版本的tensorflow:
pip uninstall keras
pip uninstall tensorflow-io-gcs-filesystem
pip uninstall tensorflow-estimator
pip uninstall tensorflow
pip uninstall Keras-Preprocessing
pip uninstall tensorflow-intel
pip install tensorflow
pip install "tensorflow<2.11"
参考网页
官方教程-用pip安装tensorflow
<>
StackOverflow: Tensorflow doesn't seem to see my gpu