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