PackedSequence¶
- class torch.nn.utils.rnn.PackedSequence(data, batch_sizes=None, sorted_indices=None, unsorted_indices=None)[原始碼][原始碼]¶
保存壓縮序列的資料和
batch_sizes
列表。所有 RNN 模組都接受壓縮序列作為輸入。
備註
這個類別的實例不應該手動建立。它們應該由像是
pack_padded_sequence()
這樣的函式實例化。Batch sizes 代表批次中每個序列步驟的元素數量,而不是傳遞給
pack_padded_sequence()
的不同序列長度。例如,給定資料abc
和x
,PackedSequence
會包含資料axbc
,並帶有batch_sizes=[2,1,1]
。- 變數
data (Tensor) – 包含壓縮序列的 Tensor
batch_sizes (Tensor) – 整數 Tensor,保存關於每個序列步驟中 batch size 的資訊
sorted_indices (Tensor, optional) – 整數 Tensor,保存這個
PackedSequence
是如何從序列建構的。unsorted_indices (Tensor, optional) – 整數 Tensor,保存如何恢復具有正確順序的原始序列。
- 回傳類型
Self
備註
data
可以在任意裝置上,並且可以是任意 dtype。sorted_indices
和unsorted_indices
必須是與data
相同裝置上的torch.int64
tensors。然而,
batch_sizes
應該始終是 CPU 上的torch.int64
tensor。這個不變性在整個
PackedSequence
類別中,以及所有在 PyTorch 中建構PackedSequence
的函式中被維持(也就是說,它們只傳入符合此約束的 tensors)。- count(value, /)¶
回傳 value 出現的次數。
- index(value, start=0, stop=9223372036854775807, /)¶
回傳 value 首次出現的索引。
如果 value 不存在則引發 ValueError。
- to(dtype: dtype, non_blocking: bool = ..., copy: bool = ...) Self [原始碼][原始碼]¶
- 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
。否則,返回具有所需配置的副本。