pad_sequence()
时间: 2023-09-04 07:07:14 浏览: 224
Sequence-Pad
`pad_sequence()` 是 PyTorch 中用于对序列进行填充的函数。在深度学习任务中,经常会遇到输入序列长度不一致的情况,为了方便进行批量处理,我们需要将序列进行填充,使得所有序列的长度相同。`pad_sequence()` 函数就是用于实现这一功能的。
以下是一个使用 `pad_sequence()` 函数对序列进行填充的示例:
``` python
import torch
# 定义两个序列
seq1 = torch.tensor([1, 2, 3])
seq2 = torch.tensor([4, 5])
# 对序列进行填充
padded_seqs = torch.nn.utils.rnn.pad_sequence([seq1, seq2], batch_first=True)
# 打印填充后的序列
print(padded_seqs)
```
输出结果为:
```
tensor([[1, 2, 3],
[4, 5, 0]])
```
在上面的示例中,我们首先定义了两个长度不一样的序列 `seq1` 和 `seq2`,然后使用 `pad_sequence()` 函数对这两个序列进行填充。在函数的参数中,`batch_first=True` 表示将批次维度放在序列的第一维,便于后续处理。最后,我们打印出填充后的序列,发现所有序列的长度都变成了 3,短的序列在末尾被填充了 0。
需要注意的是,`pad_sequence()` 函数默认会将序列填充到最长的序列长度,也可以通过 `padding_value` 参数指定填充的值。
阅读全文