Ошибка значения при прогнозировании результата с использованием Convlstm2d со слоем внимания? - PullRequest
1 голос
/ 24 мая 2019

Я интегрирую механизм внимания с 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)
...