torch.Tensor.to_sparse_csr¶
- Tensor.to_sparse_csr(dense_dim=None) Tensor ¶
將張量轉換為壓縮行儲存格式 (CSR)。除了跨步張量 (strided tensors) 之外,僅適用於 2D 張量。如果
self
是跨步的,則可以指定密集維度的數量,並建立混合 CSR 張量,其中包含 dense_dim 個密集維度,以及 self.dim() - 2 - dense_dim 個批次維度。- 參數
dense_dim (int, optional) – 結果 CSR 張量的密集維度數量。 只有當
self
是跨步張量時才應使用此參數,並且必須是介於 0 和self
張量維度減 2 之間的值。
範例
>>> dense = torch.randn(5, 5) >>> sparse = dense.to_sparse_csr() >>> sparse._nnz() 25 >>> dense = torch.zeros(3, 3, 1, 1) >>> dense[0, 0] = dense[1, 2] = dense[2, 1] = 1 >>> dense.to_sparse_csr(dense_dim=2) tensor(crow_indices=tensor([0, 1, 2, 3]), col_indices=tensor([0, 2, 1]), values=tensor([[[1.]], [[1.]], [[1.]]]), size=(3, 3, 1, 1), nnz=3, layout=torch.sparse_csr)