快捷方式

torch.Tensor.sparse_mask

Tensor.sparse_mask(mask) Tensor

返回一个新的 稀疏 Tensor,其值来自一个跨步 Tensor self,并由稀疏 Tensor mask 的索引过滤。忽略稀疏 Tensor mask 的值。selfmask Tensor 必须具有相同的形状。

注意

如果 mask 未合并 (coalesced),返回的稀疏 Tensor 可能包含重复值。因此,如果不希望出现这种情况,建议传入 mask.coalesce()

注意

返回的稀疏 Tensor 具有与稀疏 Tensor mask 相同的索引,即使 self 中对应的值为零。

参数

mask (Tensor) – 用作过滤器的稀疏 Tensor 的索引

示例

>>> 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)

文档

查阅 PyTorch 的完整开发者文档

查看文档

教程

获取适合初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得解答

查看资源