#python #tensorflow #keras #deep-learning #lstm
Вопрос:
Я пытаюсь использовать маскирующий слой с фреймворком кодер-декодер в рамках модели LSTM. Однако при введении маскирующего слоя я получаю следующую ошибку:
ValueError: Can not squeeze dim[1], expected a dimension of 1, got 8 for '{{node binary_crossentropy/weighted_loss/Squeeze}} = Squeeze[T=DT_FLOAT, squeeze_dims=[-1]](Cast_1)' with input shapes: [?,8].
Обучение проходит совершенно нормально без маскирующего слоя, поэтому я не могу понять, почему введение маскирующего слоя изменяет ожидаемую форму вывода для функции binary_crossentropy loss.
Это краткое описание модели в том виде, в каком я ее сейчас использую:
Layer (type) Output Shape Param # Connected to
==================================================================================================
future_inputs (InputLayer) [(None, 8, 26)] 0
__________________________________________________________________________________________________
past_inputs (InputLayer) [(None, 8, 89)] 0
__________________________________________________________________________________________________
masking_36 (Masking) (None, 8, 26) 0 future_inputs[0][0]
__________________________________________________________________________________________________
lstm_77 (LSTM) [(None, 16), (None, 6784 past_inputs[0][0]
__________________________________________________________________________________________________
lstm_78 (LSTM) (None, 8, 16) 2752 masking_36[0][0]
lstm_77[0][1]
lstm_77[0][2]
__________________________________________________________________________________________________
dropout_35 (Dropout) (None, 8, 16) 0 lstm_78[0][0]
__________________________________________________________________________________________________
dense_105 (Dense) (None, 8, 16) 272 dropout_35[0][0]
__________________________________________________________________________________________________
dense_106 (Dense) (None, 8, 8) 136 dense_105[0][0]
__________________________________________________________________________________________________
dense_107 (Dense) (None, 8, 1) 9 dense_106[0][0]
==================================================================================================
Total params: 9,953
Trainable params: 9,953
Non-trainable params: 0
__________________________________________________________________________________________________