Функция inner
Функция inner вычисляет скалярное произведение двух тензоров. Первым параметром функция принимает тензор, вторым параметром также тензор. Если переданы одномерные тензоры, функция возвращает их скалярное произведение в виде тензора с одним элементом. Для многомерных тензоров операция выполняется по последней размерности.
Синтаксис
torch.inner(input, other)
Пример
Давайте вычислим скалярное произведение двух одномерных тензоров:
import torch
t1 = torch.tensor([1, 2, 3])
t2 = torch.tensor([4, 5, 6])
res = torch.inner(t1, t2)
print(res)
Результат выполнения кода:
tensor(32)
Пример
Теперь вычислим скалярное произведение двумерного тензора и одномерного:
import torch
t1 = torch.tensor([
[1, 2],
[3, 4],
])
t2 = torch.tensor([5, 6])
res = torch.inner(t1, t2)
print(res)
Результат выполнения кода:
tensor([17, 39])
В данном случае скалярное произведение вычисляется для каждой строки первого тензора с вектором t2.
Пример
Рассмотрим случай с двумя двумерными тензорами:
import torch
t1 = torch.tensor([
[1, 2],
[3, 4],
])
t2 = torch.tensor([
[5, 6],
[7, 8],
])
res = torch.inner(t1, t2)
print(res)
Результат выполнения кода:
tensor([
[17, 23],
[39, 53],
])
Здесь каждый элемент результата - это скалярное произведение соответствующей строки из t1 и строки из t2.