Я хотел бы объединить выходы 2 разных слоев в моей сети следующим образом:
l1.shape
TensorShape([Dimension(None), Dimension(10), Dimension(100)])
l2.shape
TensorShape([Dimension(None), Dimension(20), Dimension(30)])
Я хотел бы объединить слои l1
и l2
, а затем подать их наСлой LSTM.Я пробовал слой "Конкатенация", но он не работает.Я хочу что-то, что может заполнить слой с более низким последним измерением, чтобы получить то же измерение, что и другой слой.то есть: заполнив последнее измерение l2
two, получим следующее:
l2_padded = some_function(l2, axis=-1, dim=l1.shape[-1])
l2_padded.shape
TensorShape([Dimension(None), Dimension(20), Dimension(100)])
Затем выполните объединение,
c = Concatenate(axis=1)([l1, l2_padded])
c.shape
TensorShape([Dimension(None), Dimension(30), Dimension(100)])
bilstm = Bidirectional(LSTM(100))(c)
# other layers ...
Не могли бы вы привести пример и / или ссылки?