如何在TensorFlow嵌入层中更改input_length?

问题描述 投票:0回答:1

我的第一层是嵌入层。大多数嵌入层都有固定的input_length,例如:句子的最大长度,像这样(https://www.tensorflow.org/alpha/tutorials/sequences/word_embeddings):

embedding_dim=16

model = tf.layers.Embedding(vocab_size, embedding_dim, input_length=maxlen)
y=model(x)

但是我的数据集中的句子长度不同,我想改变嵌入每个句子的input_length,如何更改模型?怎么称呼它?

tensorflow machine-learning keras deep-learning embedding
1个回答
0
投票

你不应该为每个句子改变input_length参数,你应该做的是定义一个MAXIMUM_SENTENCE_LENGTH常量,如果它们小于那个最大长度,你将用特殊值0填充你的所有句子,或者简单地切掉过多的单词他们超越了它。

然后,您可以使用mask_zero参数将其设置为True,以简单地屏蔽掉那些过多的0令牌,这样它们就不会影响模型的输出或训练期间的渐变反向传播。

查看此tutorial了解更多详情。

© www.soinside.com 2019 - 2024. All rights reserved.