Я интегрирую механизм внимания с convlstm2d. Я могу построить и приспособить модель, но получаю ошибку значения, предсказывая результат.
Я использую реализацию уровня внимания из:
https://www.kaggle.com/qqgeogor/keras-lstm-attention-glove840b-lb-0-043
X.shape
#(6766, 8, 100)
n_features = 100
n_seq = 4
n_steps = 2
X = X.reshape((X.shape[0], n_seq, 1, n_steps, n_features))
#(6766, 4, 1, 2, 100)
model = Sequential()
model.add(ConvLSTM2D(filters=32, kernel_size=(1,2),return_sequences=True, activation='relu', input_shape=(n_seq, 1, n_steps, n_features)))
model.add(Attention(n_steps))
model.add(Dense(100, activation='relu'))
model.compile(optimizer='adam', loss='mse')
model.summary()
ConvLSTM2D- output shape =(None, 4, 1, 1, 32)
Attention- output shape =(None, 32)
Dense - output shape =(None, 100)
Это ошибка, которую я получаю:
ValueError: could not broadcast input array from shape (4096,100) into shape (32,100)