Tensorflow-gpu 2.3.1无法访问GPU,NVIDIA GeForce MX150

时间:2020-10-27 12:51:19

标签: python tensorflow

我在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的任何想法?请帮我解决这个问题。

2 个答案:

答案 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降级以使其兼容。