Spec-Zone.ru › PyTorch 1

torch.nn.utils.rnn.pack_padded_sequence

torch.nn.utils.rnn.pack_padded_sequence(input, lengths, batch_first=False, enforce_sorted=True) [source]

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

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

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

Примечание

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

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

объект PackedSequence

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

PackedSequence

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

Spec-Zone.ru

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