我在Windows 10中同时安装了CPU和GPU版本的tensorflow。
conda list t.*flow
# packages in environment at C:\Users\Dell\anaconda4:
#
# Name Version Build Channel
tensorflow 2.3.1 pypi_0 pypi
tensorflow-estimator 2.3.0 pypi_0 pypi
tensorflow-gpu 2.3.1 pypi_0 pypi
tensorflow-gpu-estimator 2.3.0 pypi_0 pypi
此外,我已经按照此链接https://towardsdatascience.com/installing-tensorflow-with-cuda-cudnn-and-gpu-support-on-windows-10-60693e46e781上的步骤安装了CUDA和cuDNN,唯一的区别是我下载了最新版本的CUDA和cuDNN以符合tensorflow 2.3.1的要求,但仍然我无法访问GPU,即NVIDIA GeForce MX150。
import tensorflow as tf
tf.test.is_built_with_cuda()
返回True。
tf.test.is_gpu_available(cuda_only=False, min_cuda_compute_capability=None)
输出:
警告:tensorflow:自:1:is_gpu_available(来自tensorflow.python.framework.test_util)已过时,并将在以后的版本中删除。
更新说明:
请改用tf.config.list_physical_devices('GPU')
。
错误
关于tensorflow 2.3.1为什么无法访问/查找GPU的任何想法?请帮我解决这个问题。
答案 0 :(得分:1)
您的警告信息表明tf.test.is_gpu_available
已过时。如果您在此处访问tensorflow文档:
https://www.tensorflow.org/api_docs/python/tf/test/is_gpu_available。在文档中提到不赞成使用这种方法检查对GPU的访问。
您应该使用tf.config.experimental.list_physical_devices('GPU')
。
为了更精确,请使用以下内容:
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
如果您有一个GPU,则您的预期输出应如下:
# Num GPUs Available: 1
答案 1 :(得分:1)
我相信tensorflow-gpu
不需要tensorflow
就能正常工作,并且同时安装了这两个软件,您可能会导入cpu版本。
首先卸载标准的tensorflow,看看是否可以解决。
NVIDIA GeForce MX150确实支持CUDA,但是最新版本的tensorflow,CUDA和CUDNN仍可能存在兼容性问题。
关于here的讨论声称可以与CUDA 9.1和CUDNN 7.0.5结合使用。我的建议是删除已安装的版本并尝试使用这些版本,尽管这可能需要将tensorflow-gpu降级以使其兼容。