我不断收到此错误:
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版本:Tensor板-2.3.0tensorflow -2.3.1tensorflow 估计器-2.3.0tensorflow -gpu-2.3.1
我使用的是Python 3.8.0
3条答案
按热度按时间mwkjh3gx1#
当python执行一个脚本时,它会把脚本的目录包含在python路径中,这使得程序员很容易为脚本提供他们自己的模块,而无需显式安装,而且,python不会把顶层脚本当作模块(或者更准确地说,它命名为
__main__
)。在本例中,您将脚本命名为“tensorflow.py“。Python执行脚本,当它看到
import tensorflow
时,它导入您的模块,而不是真实的的tensorflow
包。(原来的是__main__
),它再次执行文件,第二次看到那个import tensorflow
,但是再一次,它仍然是你相同的tensorflow.py
。这可能会永远持续下去,但是python检测到循环导入并发出您看到的错误。python这样做太糟糕了,它使模块和包的部署变得更容易,但它有点脆弱,你必须确保你的.py文件名不会与python安装中出现的任何东西冲突。
解决办法是重命名
C:\Users\Anush\Desktop\tensorflow.py
,但不要和你安装的任何python包同名。fnatzsnv2#
在我的例子中,我只是将当前的脚本名从code.py重命名为testing.py,然后它就可以完美地工作了。
疑似相同的code.py文件名位于导入tensorflow库中,导致此循环导入错误。
eqqqjvef3#
也许是水蟒的提示