當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch Tensor.sparse_mask用法及代碼示例


本文簡要介紹python語言中 torch.Tensor.sparse_mask 的用法。

用法:

Tensor.sparse_mask(mask) → Tensor

參數

mask(Tensor) -一個稀疏張量,其索引用作過濾器

返回一個新的稀疏張量,其值來自一個跨步張量 self,由稀疏張量 mask 的索引過濾。 mask 稀疏張量的值被忽略。 selfmask 張量必須具有相同的形狀。

注意

返回的稀疏張量與稀疏張量 mask 具有相同的索引,即使 self 中的相應值為零也是如此。

例子:

>>> 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.org大神的英文原創作品 torch.Tensor.sparse_mask。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。