在 Keras 中连接三个不同维度的输入

Concatenate three inputs of different dimensions in Keras

我有两个相同大小的输入,然后应用向量大小为 128 的词嵌入,然后对其进行整形,使两个输入的形状均为 (none,1,128),另一个输入是上下文,其维度为 (none,1,18), 我想连接这三个输入,然后将组合的输出提供给 LSTM 层。但是我无法连接输入,因为维度不同并出现此错误:

A Concatenate 层需要具有匹配形状的输入,但连接轴除外。得到输入形状:[(None, 1, 128), (None, 1, 128), (None, 1, 18)]

   combined= Concatenate(axis=-2)([input_1,input_2, input_3])

形状的两个输入 (none,1,128) 是词嵌入,而形状的第三个输入 (none,1,18) 是某个类别变量的一个热编码。

有谁知道如何连接这个?任何帮助将不胜感激!

在最后一个维度上连接它们

input_1 = Input((1,128))
input_2 = Input((1,128))
input_3 = Input((1,18))

combined = Concatenate(axis=-1)([input_1,input_2, input_3])

这会产生形状为 (batch_dim, 1, 274)

的组合张量