56 votes

Comment réparer "AttributeError: le module 'tensorflow' n'a pas d'attribut 'get_default_graph'"?

J'essaie d'exécuter du code pour créer un modèle LSTM mais j'obtiens une erreur:

AttributeError: module 'tensorflow' has no attribute 'get_default_graph'

Mon code est le suivant:

 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'])

J'ai trouvé quelqu'un d'autre avec un problème similaire et ils ont mis à jour tensorflow et cela fonctionne; mais le mien est à jour et ne fonctionne toujours pas. Je suis nouveau dans l'utilisation des keras et de l'apprentissage automatique, alors je m'excuse si c'est quelque chose de stupide!

46voto

irezwi Points 642

S'il vous plaît essayez:

from tensorflow.keras.models import Sequential

à la place de

from keras.models import Sequential

21voto

palandlom Points 62

Pour tf 2.1.0 je passe à tf.compat.v1.get_default_graph()

 import tensorflow as tf
# sess = tf.compat.v1.Session(graph=tf.import_graph_def(), config=session_conf)
sess = tf.compat.v1.Session(graph=tf.compat.v1.get_default_graph(), config=session_conf)
tf.compat.v1.keras.backend.set_session(sess)

13voto

Sana Points 427

pour le dernier tensorflow 2, remplacez le code ci-dessus par le code ci-dessous avec quelques modifications

pour plus de détails, consultez la documentation de 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'])

6voto

Hannah Zhang Points 161

J'ai eu le même problème. J'ai essayé

 from tensorflow.keras.models import Sequential

et

 from keras.models import Sequential

aucun d'eux ne fonctionne. Je mets donc à jour tensorflow, keras et python:

 $conda update python
$conda update keras
$conda update tensorflow

ou alors

 pip install --upgrade tensorflow
pip install --upgrade keras
pip install --upgrade python

Ma version tensorflow est 2.1.0; ma version keras est 2.3.1; ma version python est la 3.6.10. Rien ne fonctionne tant que je n'ai pas désinstallé les keras et réinstaller les keras:

 pip uninstall keras
pip install keras --upgrade

5voto

Alice Points 513

Il s'avère que j'utilisais la mauvaise version (2.0.0a0), donc je réinitialise à la dernière version stable (1.13.1) et cela fonctionne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X