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

Функция matmul

Функция matmul выполняет матричное умножение двух тензоров. Поведение функции зависит от размерности входных тензоров. Для двумерных тензоров это стандартное матричное умножение. Для одномерных - скалярное произведение. Для многомерных - умножение с широковещанием по первым размерностям. Функция принимает два тензора в качестве аргументов и возвращает тензор с результатом.

Синтаксис

torch.matmul(input, other)

Пример

Давайте выполним матричное умножение двух двумерных тензоров:

import torch t1 = torch.tensor([[1, 2], [3, 4]]) t2 = torch.tensor([[5, 6], [7, 8]]) res = torch.matmul(t1, t2) print(res)

Результат выполнения кода:

tensor([ [19, 22], [43, 50], ])

Пример

Давайте выполним умножение одномерного и двумерного тензора:

import torch t1 = torch.tensor([1, 2, 3]) t2 = torch.tensor([[4, 5], [6, 7], [8, 9]]) res = torch.matmul(t1, t2) print(res)

Результат выполнения кода:

tensor([40, 46])

Пример

Давайте выполним умножение двумерного и одномерного тензора:

import torch t1 = torch.tensor([[1, 2], [3, 4], [5, 6]]) t2 = torch.tensor([7, 8]) res = torch.matmul(t1, t2) print(res)

Результат выполнения кода:

tensor([23, 53, 83])

Пример

Давайте выполним умножение двух одномерных тензоров (скалярное произведение):

import torch t1 = torch.tensor([1, 2, 3]) t2 = torch.tensor([4, 5, 6]) res = torch.matmul(t1, t2) print(res)

Результат выполнения кода:

tensor(32)

Пример

Давайте выполним умножение двух трёхмерных тензоров с широковещанием:

import torch t1 = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) t2 = torch.tensor([[[9, 10], [11, 12]], [[13, 14], [15, 16]]]) res = torch.matmul(t1, t2) print(res)

Результат выполнения кода:

tensor([ [[31, 34], [71, 78]], [[147, 154], [211, 222]], ])

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

  • функцию mm,
    которая выполняет матричное умножение только для двумерных тензоров
  • функцию bmm,
    которая выполняет пакетное матричное умножение
  • функцию mv,
    которая умножает матрицу на вектор
  • функцию dot,
    которая вычисляет скалярное произведение двух векторов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить