AttributeError:模块'tensorflow'没有属性'reset_default_graph'

时间:2016-11-24 09:20:03

标签: python tensorflow pycharm

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

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

 import tensorflow as tf  

并使用它:

 tf.reset_default_graph()

尝试在PyCharm中运行我的项目我收到此错误:

in <module>
tf.reset_default_graph()
AttributeError: module 'tensorflow' has no attribute 'reset_default_graph'

如何解决此错误?

11 个答案:

答案 0 :(得分:8)

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

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()

答案 1 :(得分:6)

不推荐使用此功能。 请改用tf.compat.v1.reset_default_graph()

更新 这不是唯一过时的功能。请查看this answer以获得发行说明和转换脚本。

答案 2 :(得分:3)

您通常通过写作

导入tensorflow
import tensorflow as tf

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

或者,您可以试试这个,

from tensorflow.python.framework import ops
ops.reset_default_graph()

答案 3 :(得分:2)

将导入更改为tensorflow.keras 例如     从keras导入顺序 至     从tensorflow.keras导入顺序

答案 4 :(得分:1)

我要添加此文本,以便像我这样的人-可能有2018年以前的旧代码,但使用tensorflow最新版本失败。

我的情况是,在2018年,使用的版本是1.x 撰写本文时,最新版本是2.x

因此,当我运行存储在google colab中的代码时,它实际上由于未显示tensorflow.contrib模块的错误而失败

为此,您可以执行以下提到的魔术:

https://colab.research.google.com/notebooks/tensorflow_version.ipynb#scrollTo=NeWVBhf1VxlH

基本上在jupyter笔记本单元中,只需在顶部的单独单元中运行

%tensorflow_version 1.x

我想这会将您的张量流版本切换到1.15.2

然后您的旧代码仍然可以像魅力一样工作:)

答案 5 :(得分:1)

实际上,this answer 将解决所有与 TF 1.x 相关的问题。

使用这个在 TF 2.0 中获得类似 TF 1.x 的行为:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

答案 6 :(得分:0)

这也可能导致您在错误的环境中运行代码。

我在~/tensorflow virtualenv中安装了tensorflow-gpu。

我可以使用source ./tensorflow/bin/activate

在env中运行python3 code.py

但是当我在没有virtualenv的环境~中运行python3 code.py时,我有时可能会遇到类似问题

  

AttributeError:模块'tensorflow'没有属性'reset_default_graph'

  

AttributeError:模块'tensorflow'没有属性'Session'

和其他一些

答案 7 :(得分:0)

更改:

import keras.<something>.<something>

收件人:

import tensorflow.keras.<something>.<something>

“某物”是您要导入的模块

答案 8 :(得分:0)

不是直接从keras导入

从keras.layers导入输入

从tensorflow导入

从tensorflow.keras.layers导入输入

我两次遇到这个问题,而以上一个解决了我的问题

答案 9 :(得分:0)

下载TensorFlow的二进制版本解决了我的问题。

$ pip install --ignore-installed --upgrade "<URL>"

根据您的系统从下面选择正确的二进制URL。 https://github.com/lakshayg/tensorflow-build

答案 10 :(得分:0)

如果您使用的是tf 2.0 beta,请确保所有keras导入均为tensorflow.keras ...任何keras导入都将采用假定tensorflow 1.4的标准keras软件包。

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, InputLayer