PackedSequence¶
- class torch.nn.utils.rnn.PackedSequence(data, batch_sizes=None, sorted_indices=None, unsorted_indices=None)[source][source]¶
儲存 packed sequence 的 data 和
batch_sizes列表。所有 RNN 模組都接受 packed sequences 作為輸入。
注意
不應手動建立此類例項。它們應由諸如
pack_padded_sequence()之類的函式例項化。Batch sizes 表示 batch 中每個序列步驟的元素數量,而不是傳遞給
pack_padded_sequence()的變化序列長度。例如,給定資料abc和x,PackedSequence將包含資料axbc和batch_sizes=[2,1,1]。- 變數
data (Tensor) – 包含 packed sequence 的 Tensor
batch_sizes (Tensor) – 包含每個序列步驟 batch 大小資訊的整數 Tensor
sorted_indices (Tensor, 可選) – 包含此
PackedSequence如何由序列構建而來的整數 Tensor。unsorted_indices (Tensor, 可選) – 包含如何以正確順序恢復原始序列的整數 Tensor。
- 返回型別
Self
注意
data可以位於任意裝置上並具有任意 dtype。sorted_indices和unsorted_indices必須是與data相同裝置上的torch.int64張量。然而,
batch_sizes應該始終是 CPUtorch.int64張量。此不變數在整個
PackedSequence類中保持,並且在 PyTorch 中構建PackedSequence的所有函式(即,它們僅傳遞符合此約束的張量)中也保持。- count(value, /)¶
返回 value 出現的次數。
- index(value, start=0, stop=9223372036854775807, /)¶
返回 value 第一次出現的索引。
如果值不存在,則引發 ValueError。
- to(dtype: dtype, non_blocking: bool = ..., copy: bool = ...) Self[source][source]¶
- to(device: Optional[Union[str, device, int]] = ..., dtype: Optional[dtype] = ..., non_blocking: bool = ..., copy: bool = ...) Self
- to(other: Tensor, non_blocking: bool = ..., copy: bool = ...) Self
對 self.data 執行 dtype 和/或裝置轉換。
它具有與
torch.Tensor.to()相似的簽名,但像 non_blocking 和 copy 這樣的可選引數應作為 kwargs 而不是 args 傳遞,否則它們將不適用於索引張量。注意
如果
self.data張量已經具有正確的torch.dtype和torch.device,則返回self。否則,返回具有所需配置的副本。