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