如何在pytorch中构建vocab后填充文本



我使用了torchtext-vocab将文本转换为索引,但在将所有索引列表发送到网络之前,我应该使用哪个函数使其长度相同?

例如,我有两个文本:

I am a good man
I would like a coffee please

人声后:

[1, 3, 2, 5, 7]
[1, 9, 6, 2, 4, 8]

我想要的是:

[1, 3, 2, 5, 7, 0]
[1, 9, 6, 2, 4, 8]

看下面的例子很容易理解。

代码:

import torch
v = [
[0,2],
[0,1,2],
[3,3,3,3]
]
torch.nn.utils.rnn.pad_sequence([torch.tensor(p) for p in v], batch_first=True)

结果:

tensor([[0, 2, 0, 0],
[0, 1, 2, 0],
[3, 3, 3, 3]])

最新更新