Rate this Page

torch.Tensor.sparse_mask#

Tensor.sparse_mask(mask)Tensor#

Returns a newsparse tensor with values from astrided tensorself filtered by the indices of the sparsetensormask. The values ofmask sparse tensor areignored.self andmask tensors must have the sameshape.

Note

The returned sparse tensor might contain duplicate values ifmaskis not coalesced. It is therefore advisable to passmask.coalesce()if such behavior is not desired.

Note

The returned sparse tensor has the same indices as the sparse tensormask, even when the corresponding values inself arezeros.

Parameters

mask (Tensor) – a sparse tensor whose indices are used as a filter

Example:

>>>nse=5>>>dims=(5,5,2,2)>>>I=torch.cat([torch.randint(0,dims[0],size=(nse,)),...torch.randint(0,dims[1],size=(nse,))],0).reshape(2,nse)>>>V=torch.randn(nse,dims[2],dims[3])>>>S=torch.sparse_coo_tensor(I,V,dims).coalesce()>>>D=torch.randn(dims)>>>D.sparse_mask(S)tensor(indices=tensor([[0, 0, 0, 2],                       [0, 1, 4, 3]]),       values=tensor([[[ 1.6550,  0.2397],                       [-0.1611, -0.0779]],                      [[ 0.2326, -1.0558],                       [ 1.4711,  1.9678]],                      [[-0.5138, -0.0411],                       [ 1.9417,  0.5158]],                      [[ 0.0793,  0.0036],                       [-0.2569, -0.1055]]]),       size=(5, 5, 2, 2), nnz=4, layout=torch.sparse_coo)