Ali*_*ice 8 python keras tensorflow keras-layer tf.keras
我试图运行一些代码来创建LSTM模型,但出现错误:
AttributeError: module 'tensorflow' has no attribute 'get_default_graph'
我的代码如下:
from keras.models import Sequential
model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))
model.add(LSTM(17))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)
我发现其他人也有类似的问题,他们更新了tensorflow并成功了。但是我的是最新的,但仍然无法正常工作。我是新来的使用keras和机器学习的人,因此如果这很愚蠢,我深表歉意!
pal*_*lom 14
对于 tf 2.1.0 我使用tf.compat.v1.get_default_graph()- 例如:
import tensorflow as tf
sess = tf.compat.v1.Session(graph=tf.compat.v1.get_default_graph(), config=session_conf)
tf.compat.v1.keras.backend.set_session(sess)
Run Code Online (Sandbox Code Playgroud)
小智 12
对于最新的 tensorflow 2,将上面的代码替换为下面的代码,并进行一些更改
有关详细信息,请查看 keras 文档:https ://www.tensorflow.org/guide/keras/overview
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.models import Sequential, load_model
model = tf.keras.Sequential()
model.add(layers.Dense(32, input_dim=784))
model.add(layers.Activation('relu'))
model.add(layers.LSTM(17))
model.add(layers.Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer=tf.keras.optimizers.Adam(0.01), metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)
小智 6
我有同样的问题。我试过
from tensorflow.keras.models import Sequential
Run Code Online (Sandbox Code Playgroud)
和
from keras.models import Sequential
Run Code Online (Sandbox Code Playgroud)
它们都不起作用。所以我更新了 tensorflow、keras 和 python:
$conda update python
$conda update keras
$conda update tensorflow
Run Code Online (Sandbox Code Playgroud)
或者
pip install --upgrade tensorflow
pip install --upgrade keras
pip install --upgrade python
Run Code Online (Sandbox Code Playgroud)
我的 tensorflow 版本是 2.1.0;我的 keras 版本是 2.3.1;我的 python 版本是 3.6.10。在我卸载 keras 并重新安装 keras 之前,什么都不起作用:
pip uninstall keras
pip install keras --upgrade
Run Code Online (Sandbox Code Playgroud)
小智 6
它是由于 tensorflow 版本的变化而发生的 :: Replace
tf.get_default_graph()
Run Code Online (Sandbox Code Playgroud)
经过
tf.compat.v1.get_default_graph()
Run Code Online (Sandbox Code Playgroud)
结果我使用了错误的版本 (2.0.0a0),所以我重置到最新的稳定版本 (1.13.1) 并且它可以工作。
小智 5
全部替换keras.something.something为tensorflow.keras.something, 并使用:
import tensorflow as tf
from tensorflow.keras import backend as k
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9196 次 |
| 最近记录: |