Shortcuts

PackedSequence

class torch.nn.utils.rnn.PackedSequence(data, batch_sizes=None, sorted_indices=None, unsorted_indices=None)[源代码]

保存打包序列的数据和batch_sizes列表。

所有RNN模块都接受打包序列作为输入。

注意

此类实例永远不应手动创建。它们旨在由诸如pack_padded_sequence()之类的函数实例化。

批量大小表示批次中每个序列步骤的元素数量,而不是传递给 pack_padded_sequence() 的变长序列长度。例如,给定数据 abcxPackedSequence 将包含数据 axbc,其中 batch_sizes=[2,1,1]

Variables
  • 数据 (张量) – 包含打包序列的张量

  • batch_sizes (张量) – 包含每个序列步骤的批次大小信息的整数张量

  • sorted_indices (张量, 可选) – 整数张量,表示如何从序列构建此 PackedSequence

  • unsorted_indices (Tensor, 可选) – 整数张量,用于恢复原始序列并保持正确的顺序。

注意

data 可以在任意设备上,并且可以是任意数据类型。 sorted_indicesunsorted_indices 必须是 torch.int64 张量,并且与 data 在同一设备上。

然而,batch_sizes 应该始终是一个 CPU torch.int64 张量。

在整个PackedSequence类中,这个不变量得到了保持,并且在PyTorch中所有构造PackedSequence的函数中也是如此 (即,它们只传递符合此约束的张量)。

batch_sizes: 张量

字段编号1的别名

count(value, /)

返回值出现的次数。

data: 张量

字段编号0的别名

index(value, start=0, stop=9223372036854775807, /)

返回值的第一个索引。

如果值不存在,则引发ValueError。

property is_cuda

如果self.data存储在GPU上,则返回true。

is_pinned()[源码]

如果self.data存储在固定内存中,则返回true。

sorted_indices: Optional[张量]

字段编号2的别名

to(*args, **kwargs)[源代码]

self.data 执行 dtype 和/或设备转换。

它与 torch.Tensor.to() 具有相似的签名,除了像 non_blockingcopy 这样的可选参数应该作为关键字参数传递,而不是位置参数,否则它们不会应用于索引张量。

注意

如果 self.data 张量已经具有正确的 torch.dtypetorch.device,则返回 self。 否则,返回具有所需配置的副本。

unsorted_indices: Optional[张量]

字段编号3的别名

优云智算