torch.Tensor.to_sparse_csc — PyTorch 2.7 documentation (original) (raw)
Tensor.to_sparse_csc() → Tensor¶
Convert a tensor to compressed column storage (CSC) format. Except for strided tensors, only works with 2D tensors. If the self
is strided, then the number of dense dimensions could be specified, and a hybrid CSC tensor will be created, with dense_dim dense dimensions and self.dim() - 2 - dense_dim batch dimension.
Parameters
dense_dim (int, optional) – Number of dense dimensions of the resulting CSC tensor. This argument should be used only ifself
is a strided tensor, and must be a value between 0 and dimension of self
tensor minus two.
Example:
dense = torch.randn(5, 5) sparse = dense.to_sparse_csc() sparse._nnz() 25
dense = torch.zeros(3, 3, 1, 1) dense[0, 0] = dense[1, 2] = dense[2, 1] = 1 dense.to_sparse_csc(dense_dim=2) tensor(ccol_indices=tensor([0, 1, 2, 3]), row_indices=tensor([0, 2, 1]), values=tensor([[[1.]],
[[1.]],
[[1.]]]), size=(3, 3, 1, 1), nnz=3,
layout=torch.sparse_csc)