РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
206 of 769 menu

Функция 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, что видно по точке после числа.

Смотрите также

  • функцию sum,
    которая вычисляет сумму элементов тензора
  • функцию cumprod,
    которая вычисляет кумулятивное произведение элементов
  • функцию mean,
    которая вычисляет среднее значение элементов тензора
  • функцию mul,
    которая поэлементно перемножает два тензора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить