在 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)
的组合张量
我有两个相同大小的输入,然后应用向量大小为 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)
的组合张量