torch.Tensor.sparse_mask
-
Tensor.sparse_mask(mask) → Tensor -
Возвращает новый разреженный тензор со значениями из стрейд-тензора
self, отфильтрованные по индексам разреженного тензораmask. Значения разреженного тензораmaskигнорируются.selfиmaskтензоры должны иметь одинаковую форму.Примечание
Возвращаемый разреженный тензор может содержать дублируемые значения, если
maskне слит. Поэтому рекомендуется передатьmask.coalesce(), если такое поведение нежелательно.Примечание
Возвращаемый разреженный тензор имеет те же индексы, что и разреженный тензор
mask, даже когда соответствующие значения вselfравны нулю.- Параметры
-
mask (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)
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.Tensor.sparse_mask.html