为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

小唯快跑啊 2023-12-29 16:43:05
我不断收到此错误: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 tfprint("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
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

当 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 包相同的名称。


查看完整回答
反对 回复 2023-12-29
?
POPMUISE

TA贡献1765条经验 获得超5个赞

就我而言,我只需将当前脚本名称从code.py重命名为testing.py。然后就可以完美运行了。

怀疑相同的code.py文件名位于导入张量流库内,导致此循环导入错误。


查看完整回答
反对 回复 2023-12-29
?
FFIVE

TA贡献1797条经验 获得超6个赞

也许是 anaconda 提示

conda install tensorflow


查看完整回答
反对 回复 2023-12-29
  • 3 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信