简单记录一下:
由于多个月未使用,之前能用GPU跑的代码,现在忽然显示不能用GPU了。经过一番折腾,重装Tensorflow,重装cuda,都不行,最后连整个conda环境都推翻重来,经过从头再来,终于发现原因可能很简单:
cuda的版本被其他用户切换了,只要把Tensorflow支持的cuda版本排到系统环境前面就解决了。
问题描述
运行tensorflow,查看可用GPU数量
!python --version
import tensorflow as tf
print("TF 版本:",tf.__version__)
print("是否支持CUDA:",tf.test.is_built_with_cuda())
print("可用 GPU数:", len(tf.config.list_physical_devices('GPU')))
输出结果:
Python 3.7.13 TF 版本: 2.10.0 是否支持CUDA: True 可用 GPU数: 0
原因:
Tensorflow 2.10.0支持的cuda版本是10.1,但是系统环境中cuda10.1被切换到后面了。
解决:
重新运行前面代码结果:
Python 3.7.13 TF 版本: 2.10.0 是否支持CUDA: True 可用 GPU数: 4