import tensorflow as tf
import tensorflow
from tensorflow import keras
from keras.layers import Dense
Ich bekomme den untenstehenden Fehler
from keras.layers import Input, Dense
Traceback (most recent call last):
File "<ipython-input-6-b5da44e251a5>", line 1, in <module>
from keras.layers import Input, Dense
ModuleNotFoundError: No module named 'keras'
Wie löse ich das?
Hinweis: Ich verwende die Tensorflow-Version 1.4
Verwenden Sie das Keras-Modul von Tensorflow wie folgt:
import tensorflow as tf
Klassen importieren
from tensorflow.python.keras.layers import Input, Dense
oder direkt verwenden
dense = tf.keras.layers.Dense(...)
from tensorflow.python import keras
ausprobieren
damit können Sie den Keras-abhängigen Code in einer Zeilenänderung auf Tensorflow umstellen.
Sie können auch from tensorflow.contrib import keras
versuchen. Dies funktioniert bei Tensorflow 1.3
Ich habe ein ähnliches Problem beim Importieren dieser Bibliotheken. Ich verwende Anaconda Navigator 1.8.2 mit Spyder 3.2.8.
Mein Code lautet wie folgt:
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import math
#from tf.keras.models import Sequential # This does not work!
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import InputLayer, Input
from tensorflow.python.keras.layers import Reshape, MaxPooling2D
from tensorflow.python.keras.layers import Conv2D, Dense, Flatten
Ich erhalte folgende Fehlermeldung:
from tensorflow.python.keras.models import Sequential
ModuleNotFoundError: No module named 'tensorflow.python.keras'
Ich löse dieses Löschen tensorflow.python
Mit diesem Code löse ich den Fehler:
import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import math
#from tf.keras.models import Sequential # This does not work!
from keras.models import Sequential
from keras.layers import InputLayer, Input
from keras.layers import Reshape, MaxPooling2D
from keras.layers import Conv2D, Dense, Flatten
Zur Vereinfachung nehme ich die beiden Versionen des Codes in Keras und Tf.keras. Das Beispiel hier ist ein einfaches neuronales Netzwerkmodell mit verschiedenen Schichten.
In Keras (v2.1.5)
from keras.models import Sequential
from keras.layers import Dense
def get_model(n_x, n_h1, n_h2):
model = Sequential()
model.add(Dense(n_h1, input_dim=n_x, activation='relu'))
model.add(Dense(n_h2, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
return model
In tf.keras (v1.9)
import tensorflow as tf
def get_model(n_x, n_h1, n_h2):
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(n_h1, input_dim=n_x, activation='relu'))
model.add(tf.keras.layers.Dense(n_h2, activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(4, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
return model
oder es kann auf folgende Weise anstelle der oben genannten Art importiert werden
from tensorflow.keras.layers import Dense
Die offizielle Dokumentation von tf.keras
Hinweis: Die TensorFlow-Version ist 1.9