我的第一层是嵌入层。大多数嵌入层具有固定的input_length,例如:句子的最大长度,例如this(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,如何更改模型?怎么称呼?
答案 0 :(得分:0)
您不应该为每个句子都更改input_length参数,您应该定义一个MAXIMUM_SENTENCE_LENGTH
常量,如果所有句子都小于该最大长度,则用特殊值0填充所有句子,或者只需删除多余的单词,如果他们超过了。
然后,您可以通过将mask_zero
参数设置为True来使用它,以简单地掩盖掉那些过多的0个标记,这样它们就不会影响模型的输出或训练过程中的梯度反向传播。
选中此tutorial以获得更多详细信息。