PackedSequence
-
class torch.nn.utils.rnn.PackedSequence
[source] -
Holds the data and list of
batch_sizes
of a packed sequence.All RNN modules accept packed sequences as inputs.
Note
Instances of this class should never be created manually. They are meant to be instantiated by functions like
pack_padded_sequence()
.Batch sizes represent the number elements at each sequence step in the batch, not the varying sequence lengths passed to
pack_padded_sequence()
. For instance, given dataabc
andx
thePackedSequence
would contain dataaxbc
withbatch_sizes=[2,1,1]
.- Variables
-
- ~PackedSequence.data (Tensor) – Tensor containing packed sequence
- ~PackedSequence.batch_sizes (Tensor) – Tensor of integers holding information about the batch size at each sequence step
-
~PackedSequence.sorted_indices (Tensor, optional) – Tensor of integers holding how this
PackedSequence
is constructed from sequences. - ~PackedSequence.unsorted_indices (Tensor, optional) – Tensor of integers holding how this to recover the original sequences with correct order.
Note
data
can be on arbitrary device and of arbitrary dtype.sorted_indices
andunsorted_indices
must betorch.int64
tensors on the same device asdata
.However,
batch_sizes
should always be a CPUtorch.int64
tensor.This invariant is maintained throughout
PackedSequence
class, and all functions that construct a:class:PackedSequence
in PyTorch (i.e., they only pass in tensors conforming to this constraint).-
property batch_sizes
-
Alias for field number 1
-
count()
-
Return number of occurrences of value.
-
property data
-
Alias for field number 0
-
index()
-
Return first index of value.
Raises ValueError if the value is not present.
-
property is_cuda
-
Returns true if
self.data
stored on a gpu
-
is_pinned()
[source] -
Returns true if
self.data
stored on in pinned memory
-
property sorted_indices
-
Alias for field number 2
-
to(*args, **kwargs)
[source] -
Performs dtype and/or device conversion on
self.data
.It has similar signature as
torch.Tensor.to()
, except optional arguments likenon_blocking
andcopy
should be passed as kwargs, not args, or they will not apply to the index tensors.Note
If the
self.data
Tensor already has the correcttorch.dtype
andtorch.device
, thenself
is returned. Otherwise, returns a copy with the desired configuration.
-
property unsorted_indices
-
Alias for field number 3
© 2019 Torch Contributors
Licensed under the 3-clause BSD License.
https://pytorch.org/docs/1.8.0/generated/torch.nn.utils.rnn.PackedSequence.html