本文简要介绍python语言中 torch.sparse_coo_tensor
的用法。
用法:
torch.sparse_coo_tensor(indices, values, size=None, *, dtype=None, device=None, requires_grad=False) → Tensor
indices(array_like) -张量的初始数据。可以是列表、元组、NumPy
ndarray
、标量和其他类型。将在内部转换为torch.LongTensor
。索引是矩阵中非零值的坐标,因此应该是二维的,其中第一维是张量维度的数量,第二维是非零值的数量。values(array_like) -张量的初始值。可以是列表、元组、NumPy
ndarray
、标量和其他类型。size(列表、元组或
torch.Size
, 可选的) -稀疏张量的大小。如果未提供,则大小将被推断为足以容纳所有非零元素的最小大小。
dtype(
torch.dtype
, 可选的) -返回张量的所需数据类型。默认值:如果无,则从values
推断数据类型。device(
torch.device
, 可选的) -返回张量的所需设备。默认值:如果没有,则使用当前设备作为默认张量类型(请参阅torch.set_default_tensor_type()
)。对于 CPU 张量类型,device
将是 CPU;对于 CUDA 张量类型,device
将是当前的 CUDA 设备。requires_grad(bool,可选的) -如果 autograd 应该在返回的张量上记录操作。默认值:
False
。
在给定的
indices
处构造一个具有指定值的 COO(rdinate) 格式的稀疏张量。注意
此函数返回一个未合并的张量。
例子:
>>> i = torch.tensor([[0, 1, 1], ... [2, 0, 2]]) >>> v = torch.tensor([3, 4, 5], dtype=torch.float32) >>> torch.sparse_coo_tensor(i, v, [2, 4]) tensor(indices=tensor([[0, 1, 1], [2, 0, 2]]), values=tensor([3., 4., 5.]), size=(2, 4), nnz=3, layout=torch.sparse_coo) >>> torch.sparse_coo_tensor(i, v) # Shape inference tensor(indices=tensor([[0, 1, 1], [2, 0, 2]]), values=tensor([3., 4., 5.]), size=(2, 3), nnz=3, layout=torch.sparse_coo) >>> torch.sparse_coo_tensor(i, v, [2, 4], ... dtype=torch.float64, ... device=torch.device('cuda:0')) tensor(indices=tensor([[0, 1, 1], [2, 0, 2]]), values=tensor([3., 4., 5.]), device='cuda:0', size=(2, 4), nnz=3, dtype=torch.float64, layout=torch.sparse_coo) # Create an empty sparse tensor with the following invariants: # 1. sparse_dim + dense_dim = len(SparseTensor.shape) # 2. SparseTensor._indices().shape = (sparse_dim, nnz) # 3. SparseTensor._values().shape = (nnz, SparseTensor.shape[sparse_dim:]) # # For instance, to create an empty sparse tensor with nnz = 0, dense_dim = 0 and # sparse_dim = 1 (hence indices is a 2D tensor of shape = (1, 0)) >>> S = torch.sparse_coo_tensor(torch.empty([1, 0]), [], [1]) tensor(indices=tensor([], size=(1, 0)), values=tensor([], size=(0,)), size=(1,), nnz=0, layout=torch.sparse_coo) # and to create an empty sparse tensor with nnz = 0, dense_dim = 1 and # sparse_dim = 1 >>> S = torch.sparse_coo_tensor(torch.empty([1, 0]), torch.empty([0, 2]), [1, 2]) tensor(indices=tensor([], size=(1, 0)), values=tensor([], size=(0, 2)), size=(1, 2), nnz=0, layout=torch.sparse_coo)
参数:
关键字参数:
相关用法
- Python PyTorch sparse_csr_tensor用法及代码示例
- Python PyTorch sparse_用法及代码示例
- Python PyTorch spectral_norm用法及代码示例
- Python PyTorch split用法及代码示例
- Python PyTorch saved_tensors_hooks用法及代码示例
- Python PyTorch sqrt用法及代码示例
- Python PyTorch skippable用法及代码示例
- Python PyTorch squeeze用法及代码示例
- Python PyTorch square用法及代码示例
- Python PyTorch save_on_cpu用法及代码示例
- Python PyTorch scatter_object_list用法及代码示例
- Python PyTorch skip_init用法及代码示例
- Python PyTorch simple_space_split用法及代码示例
- Python PyTorch sum用法及代码示例
- Python PyTorch sub用法及代码示例
- Python PyTorch sentencepiece_numericalizer用法及代码示例
- Python PyTorch symeig用法及代码示例
- Python PyTorch sinh用法及代码示例
- Python PyTorch sinc用法及代码示例
- Python PyTorch std_mean用法及代码示例
- Python PyTorch slogdet用法及代码示例
- Python PyTorch symbolic_trace用法及代码示例
- Python PyTorch shutdown用法及代码示例
- Python PyTorch sgn用法及代码示例
- Python PyTorch set_flush_denormal用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.sparse_coo_tensor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。