torch.sparse.sum
-
torch.sparse.sum(input, dim=None, dtype=None)[source] -
Возвращает сумму каждой строки разреженного тензора
inputв заданных измеренияхdim. Еслиdimпредставляет собой список измерений, то производится суммирование по всем из них. При суммировании по всемsparse_dim, этот метод возвращает плотный тензор вместо разреженного.Все суммируемые
dimсжаты (см.torch.squeeze()), что приводит к тензору вывода, у которогоdimменьше измерений, чем уinput.Во время обратного прохода градиенты только в
nnzрасположенияхinputбудут распространяться обратно. Обратите внимание, что градиентыinputобъединяются.- Параметры
-
- input (Tensor) – входной разреженный тензор
- dim (int или кортеж из целых чисел) – измерение или список измерений для суммирования. По умолчанию: суммирование по всем измерениям.
-
dtype (
torch.dtype, необязательно) – желаемый тип данных возвращаемого тензора. По умолчанию: тип данныхinput.
- Тип возвращаемого значения
Пример:
>>> nnz = 3 >>> dims = [5, 5, 2, 3] >>> I = torch.cat([torch.randint(0, dims[0], size=(nnz,)), torch.randint(0, dims[1], size=(nnz,))], 0).reshape(2, nnz) >>> V = torch.randn(nnz, dims[2], dims[3]) >>> size = torch.Size(dims) >>> S = torch.sparse_coo_tensor(I, V, size) >>> S tensor(indices=tensor([[2, 0, 3], [2, 4, 1]]), values=tensor([[[-0.6438, -1.6467, 1.4004], [ 0.3411, 0.0918, -0.2312]], [[ 0.5348, 0.0634, -2.0494], [-0.7125, -1.0646, 2.1844]], [[ 0.1276, 0.1874, -0.6334], [-1.9682, -0.5340, 0.7483]]]), size=(5, 5, 2, 3), nnz=3, layout=torch.sparse_coo) # when sum over only part of sparse_dims, return a sparse tensor >>> torch.sparse.sum(S, [1, 3]) tensor(indices=tensor([[0, 2, 3]]), values=tensor([[-1.4512, 0.4073], [-0.8901, 0.2017], [-0.3183, -1.7539]]), size=(5, 2), nnz=3, layout=torch.sparse_coo) # when sum over all sparse dim, return a dense tensor # with summed dims squeezed >>> torch.sparse.sum(S, [0, 1, 3]) tensor([-2.6596, -1.1450])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.sparse.sum.html