猿问

AttributeError:部分初始化的模块“tensorflow”没有属性“config”

我不断收到此错误:


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 版本:tensorboard-2.3.0tensorflow-2.3.1tensorflow-estimator-2.3.0tensorflow-gpu-2.3.1


我使用的是Python 3.8.0


小唯快跑啊
浏览 148回答 3
3回答

吃鸡游戏

当 python 执行脚本时,它会将脚本的目录包含在 python 路径中。这使得程序员可以轻松地为脚本提供自己的模块,而无需显式安装。此外,Python 并不将顶级脚本视为模块(或者更准确地说,它会将其命名为模块__main__)。在您的例子中,您将脚本命名为“tensorflow.py”。Python 执行脚本,当它看到 时import tensorflow,它会导入您的模块,而不是真正的tensorflow包。由于它还没有命名的模块tensorflow(原来的模块是__main__),它再次执行该文件并import tensorflow再次看到该文件,但同样,它仍然是相同的tensorflow.py.&nbsp;这种情况可能会永远持续下去,但 python 会检测到循环导入并发出您看到的错误。可惜python竟然这么做了。它使部署模块和包变得更容易,但它有点脆弱。您必须确保您的 .py 文件名不会与 python 安装中可能显示的任何内容发生冲突。解决办法就是重命名C:\Users\Anush\Desktop\tensorflow.py。并且不要将其命名为与您可能安装的任何 python 包相同的名称。

POPMUISE

就我而言,我只需将当前脚本名称从code.py重命名为testing.py。然后就可以完美运行了。怀疑相同的code.py文件名位于导入张量流库内,导致此循环导入错误。

FFIVE

也许是 anaconda 提示conda&nbsp;install&nbsp;tensorflow
随时随地看视频慕课网APP

相关分类

Python
我要回答