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 - Тип возвращаемого значения:
© 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