我正在尝试将两个图层合并在一起。我的输入或处理过的数据如下所示:
[[2069 2297 3087 ..., 0 0 0]
[2069 2297 3087 ..., 0 0 0]
[2069 2297 3087 ..., 0 0 0]
...,
[2711 4215 875 ..., 0 0 0]
[5324 1412 1301 ..., 0 0 0]
[5065 3561 5002 ..., 0 0 0]]
每行代表一个单词序列和每个#,一个单词的特定索引。我有两个这样的数据,我试图将它们合并在一起,首先将它们嵌入到16维字向量中,然后使用点积。为此,我创建了两个分支来嵌入数据。然后我尝试合并它们。
当我尝试在Keras中使用此功能合并两者时:
model = Sequential()
model.add(Merge( [x1_branch, x2_branch], mode = 'dot'))
我收到以下错误:
ValueError: Error when checking target: expected merge_1 to have 3 dimensions, but got array with shape (162, 1)
我相信矩阵乘法的执行,正如文档中所描述和描述的那样:
"E.g. if applied to two tensors a and b of shape (batch_size, n), the output will be a tensor of shape (batch_size, 1) where each entry i will be the dot product between a[i] and b[i]."
显然,此样本的批量大小为162.但是,错误仍然没有意义。如果合并层看起来已经完成了计算,它怎么能期望输入?
我非常感谢任何帮助。谢谢!