我不断收到此错误: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 包相同的名称。
POPMUISE
TA贡献1765条经验 获得超5个赞
就我而言,我只需将当前脚本名称从code.py重命名为testing.py。然后就可以完美运行了。
怀疑相同的code.py文件名位于导入张量流库内,导致此循环导入错误。
添加回答
举报
0/150
提交
取消