import tensorflow as tf
import tensorflow
from tensorflow import keras
from keras.layers import Dense
Je reçois l'erreur ci-dessous
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'
Comment résoudre ce problème?
Note: J'utilise Tensorflow version 1.4
Essayez from tensorflow.python import keras
avec cela, vous pouvez facilement changer le code dépendant de keras en tensorflow en un changement de ligne.
Vous pouvez également essayer from tensorflow.contrib import keras
. Cela fonctionne sur tensorflow 1.3
J'ai un problème similaire d'importer ces libs. J'utilise Anaconda Navigator 1.8.2 avec Spyder 3.2.8.
Mon code est le suivant:
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
Je reçois l'erreur suivante:
from tensorflow.python.keras.models import Sequential
ModuleNotFoundError: No module named 'tensorflow.python.keras'
Je résous cet effacement tensorflow.python
Avec ce code je résous l'erreur:
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
Pour simplifier, je prendrai les deux versions du code dans keras et tf.keras. L'exemple ici est un modèle de réseau neuronal simple avec différentes couches.
Dans 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
Dans 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
ou il peut être importé de la manière suivante au lieu de la manière mentionnée ci-dessus
from tensorflow.keras.layers import Dense
La documentation officielle de tf.keras
Remarque: la version de TensorFlow est 1.9.