AttributeError:部分初始化的模块“tensorflow”没有属性“config”(很可能是由于循环导入)

2023-11-29

我不断收到此错误:

Traceback (most recent call last)
   File "tensorflow.py", line 1, in <module>
import tensorflow as tf
   File "C:\Users\Anush\Desktop\tensorflow.py", line 2, in <module>
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
  AttributeError: partially initialized module 'tensorflow' has no attribute 'config' (most likely due to a circular import)

这是我的代码:

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))

这是我的 Tensorflow 版本: 张量板-2.3.0 张量流-2.3.1 张量流-estimator-2.3.0 张量流-gpu-2.3.1

我使用的是Python 3.8.0


当 python 执行脚本时,它会将脚本的目录包含在 python 路径中。这使得程序员可以轻松地为脚本提供自己的模块,而无需显式安装。此外,Python 并不将该顶级脚本视为模块(或者更准确地说,它将其命名为__main__).

在您的例子中,您将脚本命名为“tensorflow.py”。 Python 执行脚本,当它看到import tensorflow,它导入你的模块,而不是真正的模块tensorflow包裹。因为它没有名为的模块tensorflow然而(原文是__main__),它再次执行该文件并看到import tensorflow第二次,但还是一样的你tensorflow.py。这种情况可能会永远持续下去,但 python 会检测到循环导入并发出您看到的错误。

可惜python竟然这么做了。它使部署模块和包变得更容易,但它有点脆弱。您必须确保您的 .py 文件名不会与 python 安装中可能显示的任何内容发生冲突。

解决办法就是重命名C:\Users\Anush\Desktop\tensorflow.py。并且不要将其命名为与您可能安装的任何 python 包相同的名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AttributeError:部分初始化的模块“tensorflow”没有属性“config”(很可能是由于循环导入) 的相关文章

随机推荐