Spec-Zone.ru › PyTorch 2.14

torch.nn.utils.rnn.pack_padded_sequence

torch.nn.utils.rnn.pack_padded_sequence(input, lengths, batch_first=False, enforce_sorted=True) [исходный код]

Упаковывает тензор, содержащий последовательности переменной длины с дополнением.

input может иметь размер T x B x * (если batch_first — False) или B x T x * (если batch_first — True), где T — длина самой длинной последовательности, B — размер пакета, а * — любое количество измерений (включая 0).

Для несортированных последовательностей используйте enforce_sorted = False. Если enforce_sorted — True, последовательности следует отсортировать по длине в порядке убывания, то есть input[:,0] должна быть самой длинной последовательностью, а input[:,B-1] — самой короткой. enforce_sorted = True требуется только для экспорта ONNX.

Это обратная операция к pad_packed_sequence(), поэтому pad_packed_sequence() можно использовать для восстановления исходного тензора, упакованного в PackedSequence.

Примечание

Эта функция принимает любые входные данные, имеющие не менее двух измерений. Ее можно применить для упаковки меток, а затем использовать вместе с ними выходные данные RNN, чтобы вычислить функцию потерь напрямую. Тензор можно получить из объекта PackedSequence, обратившись к его атрибуту .data.

Параметры:
  • input (Tensor) – пакет последовательностей переменной длины с дополнением.
  • lengths (Tensor или list(int)) – список длин последовательностей для каждого элемента пакета (если задан в виде тензора, он должен находиться на CPU).
  • batch_first (bool, необязательный) – если True, ожидается, что входные данные имеют формат B x T x *, в противном случае — T x B x *. Значение по умолчанию: False.
  • enforce_sorted (bool, необязательный) – если True, ожидается, что входные данные содержат последовательности, отсортированные по длине в порядке убывания. Если False, входные данные будут отсортированы безусловно. Значение по умолчанию: True.
Тип возвращаемого значения:

PackedSequence

Предупреждение

Размерность тензора input будет усечена, если его длина превышает соответствующее значение в length.

Возвращает:

объект PackedSequence

Тип возвращаемого значения:

PackedSequence

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.utils.rnn.pack_padded_sequence.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API