Функция cumprod
Функция cumprod вычисляет кумулятивное произведение (накопленное произведение) элементов тензора вдоль заданной размерности. Первым параметром функция принимает тензор, вторым - размерность, вдоль которой производится вычисление. Третьим параметром можно задать тип данных результата.
Синтаксис
torch.cumprod(input, dim, [dtype])
Пример
Давайте вычислим кумулятивное произведение для одномерного тензора:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.cumprod(t, dim=0)
print(res)
Результат выполнения кода:
tensor([1, 2, 6, 24, 120])
Пример
Давайте вычислим кумулятивное произведение для двумерного тензора вдоль строк:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = torch.cumprod(t, dim=1)
print(res)
Результат выполнения кода:
tensor([
[1, 2, 6],
[4, 20, 120],
])
Пример
Давайте вычислим кумулятивное произведение вдоль столбцов:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = torch.cumprod(t, dim=0)
print(res)
Результат выполнения кода:
tensor([
[1, 2, 3],
[4, 10, 18],
])
Пример
Давайте зададим тип данных результата явно:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.cumprod(t, dim=0, dtype=torch.float)
print(res)
Результат выполнения кода:
tensor([1., 2., 6., 24., 120.])