Posterior a investigar con expertos en esta materia, programadores de deferentes áreas y profesores dimos con la respuesta al problema y la plasmamos en este post.
Solución:
Usa el módulo keras de tensorflow así:
import tensorflow as tf
Importar clases
from tensorflow.python.keras.layers import Input, Dense
o usar directamente
dense = tf.keras.layers.Dense(...)
EDITAR Tensorflow 2
from tensorflow.keras.layers import Input, Dense
y el resto sigue igual.
Probar from tensorflow.python import keras
con esto, puede cambiar fácilmente el código dependiente de keras a tensorflow en un cambio de línea.
También puedes probar from tensorflow.contrib import keras
. Esto funciona en tensorflow 1.3
Editado: para tensorflow 1.10 y superior puedes usar import tensorflow.keras as keras
para obtener keras en tensorflow.
Para simplificarlo tomaré las dos versiones del código en keras y tf.keras. El ejemplo aquí es un modelo de red neuronal simple con diferentes capas.
En 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
En 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
o se puede importar de la siguiente manera en lugar de la forma mencionada anteriormente
from tensorflow.keras.layers import Dense
La documentación oficial de tf.keras
Nota: la versión de TensorFlow es 1.9
Aquí puedes ver las reseñas y valoraciones de los lectores
Recuerda algo, que te brindamos la opción de glosar si te ayudó.