В настоящее время я пытаюсь построить работающую модель lstm в Керасе, которая получает вложение от CNN, предшествующее RNN. 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
Когда я запускаю тренировку, как это, я получаю это сообщение об ошибке: