如何在Keras中嵌入3D输入?

我正在尝试在Keras中制作一个Embedding层。

我的输入大小为3d:(batch,8,6),并且我想为最后一个尺寸嵌入。
因此,嵌入方式应为(batch*8,6)-> embedding output

但是我不想在所有学习步骤中都保留此batchsize,只是为了嵌入层。

我认为解决方案之一是分离8个输入并将嵌入应用于每个输入。
但是,这个嵌入层与一个大的嵌入层并不相同。

有没有可能的解决方案?谢谢!

woai0108 回答:如何在Keras中嵌入3D输入?

解决方案非常简单:

input_shape = (8,6)

并通过嵌入。您将得到您想要的。


完整的工作示例:

from keras.layers import *
from keras.models import *

ins = Input((8,6))
out = Embedding(10,15)(ins)
model = Model(ins,out)
model.summary()

其中10是字典大小(单词或类似词的数量),而15是嵌入大小(结果尺寸)。

结果摘要:

Model: "model_1"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_1 (InputLayer)         (None,8,6)              0         
_________________________________________________________________
embedding_1 (Embedding)      (None,6,15)          150       
=================================================================
Total params: 150
Trainable params: 150
Non-trainable params: 0
_________________________________________________________________
本文链接:https://www.f2er.com/2855596.html

大家都在问