我的第一层是嵌入层。大多数嵌入层都有固定的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,如何更改模型?怎么称呼它?
你不应该为每个句子改变input_length参数,你应该做的是定义一个MAXIMUM_SENTENCE_LENGTH
常量,如果它们小于那个最大长度,你将用特殊值0填充你的所有句子,或者简单地切掉过多的单词他们超越了它。
然后,您可以使用mask_zero
参数将其设置为True,以简单地屏蔽掉那些过多的0令牌,这样它们就不会影响模型的输出或训练期间的渐变反向传播。
查看此tutorial了解更多详情。