Dans ma question précédente , j'ai utilisé la fonction Layer.set_input()
de Keras pour connecter mon tenseur de sortie de prétraitement Tensorflow à l'entrée de mon modèle Keras. Cependant, cette méthode a été supprimée après la version Keras 1.1.1
.
Comment puis-je y parvenir dans les nouvelles versions de Keras?
Exemple:
# Tensorflow pre-processing
raw_input = tf.placeholder(tf.string)
### some TF operations on raw_input ###
tf_embedding_input = ... # pre-processing output tensor
# Keras model
model = Sequential()
e = Embedding(max_features, 128, input_length=maxlen)
### THIS DOESN'T WORK ANYMORE ###
e.set_input(tf_embedding_input)
################################
model.add(e)
model.add(LSTM(128, activation='sigmoid'))
model.add(Dense(num_classes, activation='softmax'))
Une fois le prétraitement terminé, vous pouvez ajouter le tenseur comme couche d'entrée en appelant tensor
param of Input
Donc dans votre cas:
tf_embedding_input = ... # pre-processing output tensor
# Keras model
model = Sequential()
model.add(Input(tensor=tf_embedding_input))
model.add(Embedding(max_features, 128, input_length=maxlen))