Pytorch embedding 或 lstm(我不知道其他 dnn 库)默认无法处理变长序列。我看到各种技巧来处理可变长度。但我的问题是,为什么会这样?我的意思是,序列几乎从不具有相同的大小/长度,并且 rnn/lstm 应该循环直到序列结束。如果是这样,为什么它会对小批量序列的各种长度敏感?Pytorch Embedding 是一个查找表。对我来说,我认为没有任何理由对可变长度敏感。不应该是理想的情况是,我可以给出一个包含可变数量单词的小批量句子?如下所示:
word_embedding = nn.Embedding(17,5)
#each vector is a sentence
word_embeds=word_embedding(torch.tensor([[1,2,3,4,5],[4,5,6,7]]))