【发布时间】:2019-10-01 09:48:09
【问题描述】:
我目前正在尝试在 Keras 中构建一个有效的 lstm 模型,该模型从位于 RNN 之前的 CNN 接收嵌入。 CNN 显示了预期的行为,但我不能 100% 确定我是否可以将嵌入从 CNN 传递到 RNN。
def model_builder(input_shape):
base_input = Input(shape = input_shape)
x = LSTM(units=1, name='LSTM1', return_sequences=True)(base_input)
x = Flatten()(x)
x = Dense(units = 2)(x)
x = Activation('softmax')(x)
classification_model = Model(base_input, x,name='classifier')
classification_model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
return classification_model
embedding_model = build_model((256, 256, 3))
classification_model = model_builder((2048,1,))
try:
image_embedding = embedding_model.predict(X)
outcome = classification_model.fit(x=image_embedding, y=Y, batch_size=10, epochs=20, verbose=1,
callbacks=None, validation_split=0.5, validation_data=None, shuffle=False,
class_weight=None,sample_weight=None, initial_epoch=0, steps_per_epoch=None,
validation_steps=None, validation_freq=1)
except KeyboardInterrupt:
pass
【问题讨论】:
标签: python tensorflow keras lstm keras-layer