Функция PyTorch torch.tensordot
Справочное руководство PyTorch torch
torch.tensordotЭто функция в PyTorch, используемая для вычисления скалярного произведения двух тензоров по указанным размерностям. Это операция тензорного сжатия.
Определение функции
torch.tensordot(input, other, dims=2)
Описание параметров:
input: Первый входной тензорother: Второй входной тензорdims: Количество размерностей для сжатия или список пар размерностей
Пример использования
Пример
import torch
# Создайте два одномерных тензора
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Вычислить скалярное произведение
y = torch.tensordot(a, b, dims=1)
print(y)
# Создайте два одномерных тензора
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Вычислить скалярное произведение
y = torch.tensordot(a, b, dims=1)
print(y)
Результат вывода:
tensor(32)
Пример
import torch
# Создайте два двумерных тензора
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6], [7, 8]])
# Вычислить умножение матриц (свернуть две размерности)
y = torch.tensordot(a, b, dims=2)
print(y)
# Создайте два двумерных тензора
a = torch.tensor([[1, 2], [3, 4]])
b = torch.tensor([[5, 6], [7, 8]])
# Вычислить умножение матриц (свернуть две размерности)
y = torch.tensordot(a, b, dims=2)
print(y)
Результат вывода:
tensor(70)
Пример
import torch
# Создать трёхмерный тензор
a = torch.randn(2, 3, 4)
b = torch.randn(3, 4, 5)
# Указать пары размерностей для сжатия
y = torch.tensordot(a, b, dims=[[1, 2], [0, 1]])
print(y.shape)
# Создать трёхмерный тензор
a = torch.randn(2, 3, 4)
b = torch.randn(3, 4, 5)
# Указать пары размерностей для сжатия
y = torch.tensordot(a, b, dims=[[1, 2], [0, 1]])
print(y.shape)
Результат вывода:
torch.Size([2, 5])
Другие расширения