Ik probeer een code uit te voeren om een LSTM-model te maken, maar ik krijg een foutmelding:
AttributeError: module 'tensorflow' has no attribute 'get_default_graph'
Mijn code is als volgt:
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'])
Ik heb iemand anders gevonden met een vergelijkbaar probleem en ze hebben Tensorflow bijgewerkt en het werkt; Maar de mijne is up-to-date en werkt nog steeds niet. Ik ben nieuw voor het gebruik van Keras en Machine Learning, dus ik bied mijn excuses aan als dit iets dom is!
Antwoord 1, Autoriteit 100%
Probeer alstublieft:
from tensorflow.keras.models import Sequential
in plaats van
from keras.models import Sequential
Antwoord 2, Autoriteit 35%
voor TF 2.1.0 Ik gebruikte tf.compat.v1.get_default_graph()
– b.v:
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)
Antwoord 3, Autoriteit 30%
Vervang voor de laatste TensorFlow 2 Vervang de bovenstaande code door onderstaande code met enkele wijzigingen
Controleer voor details Keras Documentation:
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'])
Antwoord 4, autoriteit 15%
Ik had hetzelfde probleem. Ik heb geprobeerd
from tensorflow.keras.models import Sequential
en
from keras.models import Sequential
geen van hen werkt. Dus ik update tensorflow, keras en python:
$conda update python
$conda update keras
$conda update tensorflow
of
pip install --upgrade tensorflow
pip install --upgrade keras
pip install --upgrade python
Mijn tensorflow-versie is 2.1.0; mijn keras-versie is 2.3.1; mijn python-versie is 3.6.10.
Niets werkt totdat ik keras verwijder en keras opnieuw installeer:
pip uninstall keras
pip install keras --upgrade
Antwoord 5, autoriteit 15%
Het treedt op als gevolg van wijzigingen in de tensorflow-versie ::
Vervangen
tf.get_default_graph()
door
tf.compat.v1.get_default_graph()
Antwoord 6, autoriteit 12%
Blijkt dat ik de verkeerde versie (2.0.0a0) gebruikte, dus ik reset naar de nieuwste stabiele versie (1.13.1) en het werkt.
Antwoord 7, Autoriteit 8%
Vervang alle keras.something.something
met tensorflow.keras.something
, en gebruik:
import tensorflow as tf
from tensorflow.keras import backend as k
Antwoord 8, Autoriteit 2%
Downgrading repareert het probleem, maar als u de nieuwste versie wilt gebruiken, moet u deze code proberen:
from tensorflow import keras
EN ‘from tensorflow.python.keras import backend as k
Dat is werk voor mij
Antwoord 9, Autoriteit 2%
Gebruik het volgende:
tf.compat.v1.disable_eager_execution()
print(tf.compat.v1.get_default_graph())
Het werkt voor TensorFlow 2.0
Antwoord 10, Autoriteit 2%
Ja, het werkt niet omdat u de bijgewerkte versie van TensorFlow gebruikt, ie TensorFlow == 2.0, de oudere versie van TensorFlow kan helpen.
Ik had hetzelfde probleem, maar ik heb het opgelost met behulp van de volgende code.
Probeer:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import Dropout
In plaats daarvan:
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
Antwoord 11, Autoriteit 2%
Om het probleem op te lossen, gebruikte ik de onderstaande code:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import numpy
Antwoord 12
Dit is mij ook overkomen. De reden is uw tensorflow-versie. Probeer een oudere versie van tensorflow te krijgen. Een ander probleem kan zijn dat je een python-script met de naam tensorflow.py in je project hebt.
Antwoord 13
Ja, de code werkt niet met deze versie van tensorflow tensorflow == 2.0.0 . verhuizen naar versie ouder dan 2.0.0 zal helpen.
Antwoord 14
Ervan uitgaande dat mensen die naar deze thread verwijzen, steeds meer tensorflow 2 zullen gebruiken:
Tensorflow 2 integreert verdere keras api, aangezien keras zeer verstandig is ontworpen/ontwikkeld. Het antwoord is heel eenvoudig als je tensorflow 2 gebruikt, zoals ook hier wordt beschreven :
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Activation, LSTM
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=tensorflow.keras.losses.binary_crossentropy, optimizer=tensorflow.keras.optimizers.Adam(), metrics=['accuracy'])
en zo verander je dat je iets als MNIST van de officiële keras-pagina zou gebruiken door gewoon tensorflow.keras
te vervangen in plaats van keras
en het ook op gpu uit te voeren;
from __future__ import print_function
import tensorflow
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D
from tensorflow.keras import backend as K
batch_size = 1024
num_classes = 10
epochs = 12
# input image dimensions
img_rows, img_cols = 28, 28
# the data, split between train and test sets
(x_train, y_train), (x_test, y_test) = mnist.load_data()
if K.image_data_format() == 'channels_first':
x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)
x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
input_shape = (1, img_rows, img_cols)
else:
x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)
x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
input_shape = (img_rows, img_cols, 1)
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')
# convert class vectors to binary class matrices
y_train = tensorflow.keras.utils.to_categorical(y_train, num_classes)
y_test = tensorflow.keras.utils.to_categorical(y_test, num_classes)
model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=input_shape))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss=tensorflow.keras.losses.categorical_crossentropy,
optimizer=tensorflow.keras.optimizers.Adadelta(),
metrics=['accuracy'])
model.fit(x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])
Antwoord 15
Gebruik voor TensorFlow 2.0 Keras gebundeld met TensorFlow.
Probeer het vervangen van keras.models
met tensorflow.python.keras.models
of tensorflow.keras.models
:
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers.core import Dense, Activation
Dit zou het probleem moeten oplossen.
Antwoord 16
!pip uninstall tensorflow
!pip install tensorflow==1.14
Dit werkte voor mij … WERKEN AAN HRNETV2 .. TY
Antwoord 17
Dit werkte voor mij. Gebruik alstublieft de onderstaande import
from tensorflow.keras.layers import Input
Antwoord 18
Probeer een beknopt te zijn!
First – & GT;
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
dan – & gt;
model = keras.Sequential(
[
layers.Dense(layers.Dense(32, input_dim=784)),
layers.Dense(activation="relu"),
layers.Dense(LSTM(17))
]
)
model.add(layers.Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer=tf.keras.optimizers.Adam(0.01), metrics=['accuracy'])
en voila !!