python - 在 Keras 中连接三个不同维度的输入
问题描述
我有两个相同大小的输入,然后应用向量大小为 128 的词嵌入,然后对其进行整形,使两个输入的形状均为 (none,1,128),另一个输入是上下文的维度 (none,1,18),我想连接这三个输入,然后将组合输出馈送到 LSTM 层。但我无法连接输入,因为尺寸与此错误不同:
层需要具有匹配形状的Concatenate
输入,除了 concat 轴。得到输入形状:[(None, 1, 128), (None, 1, 128), (None, 1, 18)]
combined= Concatenate(axis=-2)([input_1,input_2, input_3])
shape (none,1,128) 的两个输入是词嵌入,而 shape(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)
推荐阅读
- javascript - 将字符串转换为数组而不拆分它
- c# - 使用 EF Core Fluent 配置唯一且不可为空
- java - 无法从 JDBC 执行 MySQL 存储过程
- react-native - 在 android 中设置 Native-Base 字体后,React 本机应用程序在启动时崩溃
- java - 新版本的 java 可以在旧版本上运行吗?
- python - 使用 dask_cuda 设置客户端/集群时,我应该担心以下错误吗?
- python - 如何在python中创建堆叠条grpah
- python - 如何使用流引导视频补全 (FGVC)?
- javascript - 如果我在画布外部单击,则删除样式
- r - 用 tidyR 转置复杂的 data.frame