Среднее или максимальное объединение с поддержкой маскировки в Керасе

...
print('Build model...')
model = Sequential()
model.add(Embedding(max_features, 128))
model.add(LSTM(size, return_sequences=True, dropout_W=0.2 dropout_U=0.2)) 
model.add(GlobalAveragePooling1D())
model.add(Dense(1))
model.add(Activation('sigmoid'))
....

Мне нужно иметь возможность взять среднее или максимальное значение векторов для всех временных шагов в образце после слоя LSTM, прежде чем передать это среднее или максимальное значение вектора для плотного слоя в Керасе.

Я думаюtimedistributedmerge был в состоянии сделать это, но это устарело. С помощьюreturn_sequences=True Я могу получить векторы для всех временных шагов в образце после слоя LSTM. Тем не мение,GlobalAveragePooling1D() не совместим с маскированием и учитывает все временные шаги, тогда как мне нужны только немаскированные временные шаги.

Я видел сообщения, рекомендующиеLambda слой, но они также не принимают маскировку во внимание. Любая помощь будет оценена.

Ответы на вопрос(4)

Ваш ответ на вопрос