快捷方式

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 的完整開發者文件

檢視文件

教程

獲取適合初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得解答

檢視資源