AttributeError:模块“ tensorflow”没有属性“ reset_default_graph”

mag*_*gnp 9 python pycharm tensorflow

我已经安装了tensorflow版本r0.11。

在我的文件名中,cartpole.py我已经导入tensorflow

 import tensorflow as tf  
Run Code Online (Sandbox Code Playgroud)

并使用它:

 tf.reset_default_graph()
Run Code Online (Sandbox Code Playgroud)

尝试在PyCharm中运行我的项目时出现以下错误:

in <module>
tf.reset_default_graph()
AttributeError: module 'tensorflow' has no attribute 'reset_default_graph'
Run Code Online (Sandbox Code Playgroud)

如何解决此错误?

Sho*_*dde 53

此功能已弃用。使用tf.compat.v1.reset_default_graph()来代替。

更新 这不是唯一过时的功能。查看此答案以获取发行说明和转换脚本。

  • 在这个线程上?接受的答案表明可能还有另一个名为“tensorflow.py”的文件。您可能的意思是我的答案与我链接到的线程中接受的答案一致。在这种情况下,它并不是多余的(此处,在此页面上),因为它包含指向更健康的解决方案的链接。 (10认同)
  • 是的,你是对的,接受的答案实际上并没有解决问题,这是实际的答案 (2认同)

小智 9

实际上,这个答案将解决所有 TF 1.x 相关的问题。

使用以下命令在 TF 2.0 中获得类似 TF 1.x 的行为:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
Run Code Online (Sandbox Code Playgroud)


小智 7

我已经尝试并成功删除了属性错误

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D
from tensorflow.keras.layers import MaxPool2D
from tensorflow.keras.layers import Flatten
from tensorflow.keras.layers import Dense

classifier = Sequential()
Run Code Online (Sandbox Code Playgroud)


mar*_*ars 6

您通常tensorflow以书面形式汇入,

import tensorflow as tf
Run Code Online (Sandbox Code Playgroud)

您可能已经在项目中命名了文件,tensorflow.py并且import语句正在从该文件导入。

或者,您可以尝试一下

from tensorflow.python.framework import ops
ops.reset_default_graph()
Run Code Online (Sandbox Code Playgroud)

  • 我已经解决了一个问题,谢谢!问题出在python版本中。它默认运行2.7,当我的项目在3.5.2版本上运行时,当您运行* python3 *之类的项目然后使用* tensoreflow *时,它运行良好,我默认也将python版本3.5.2 (2认同)

Chi*_*may 6

将导入更改为tensorflow.keras例如,从keras import Sequential更改为From tensorflow.keras import Sequential


小智 5

改变:

import keras.<something>.<something>
Run Code Online (Sandbox Code Playgroud)

到:

import tensorflow.keras.<something>.<something>
Run Code Online (Sandbox Code Playgroud)

其中“something”是您要导入的模块