Я пытаюсь выполнить простую классификацию cnn-lstm с распределением времени, но получаю следующую ошибку: Выходные тензоры в модель должны быть выходными данными Keras Layer
(таким образом, удерживая метаданные прошлого слоя) , Найдено:
мои образцы представляют собой изображения в градациях серого с 366 каналами и размером 5x5 каждый образец имеет свою уникальную метку.
model_input = Input(shape=(366,5,5))
model = TimeDistributed(Conv2D(64, (3, 3), activation='relu', padding='same',data_format='channels_first')(model_input))
model = TimeDistributed(MaxPooling2D((2, 2),padding='same',data_format='channels_first'))
model = TimeDistributed(Conv2D(128, (3,3), activation='relu',padding='same',data_format='channels_first'))
model = TimeDistributed(MaxPooling2D((2, 2), strides=(2, 2),padding='same',data_format='channels_first'))
model = Flatten()
model = LSTM(256, return_sequences=False, dropout=0.5)
model = Dense(128, activation='relu')
model = Dense(6, activation='softmax')
cnnlstm = Model(model_input, model)
cnnlstm.compile(optimizer='adamax',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
cnnlstm.summary()