Функция PyTorch torch.einsum
Справочное руководство PyTorch torch
torch.einsum— это функция в PyTorch, используемая для соглашения Эйнштейна о суммировании, которая позволяет кратко выражать различные тензорные операции.
Определение функции
torch.einsum(equation, *operands)
Примеры использования
Примеры
import torch
# Транспонирование матрицы
A = torch.randn(2, 3)
AT = torch.einsum('ij->ji', A)
print("Форма транспонированной матрицы:", AT.shape)
# Умножение матриц
B = torch.randn(3, 4)
C = torch.einsum('ij,jk->ik', A, B)
print("Форма умножения:", C.shape)
# Скалярное произведение
a = torch.randn(3)
b = torch.randn(3)
dot = torch.einsum('i,i->', a, b)
print("Скалярное произведение:", dot.item())
# Транспонирование матрицы
A = torch.randn(2, 3)
AT = torch.einsum('ij->ji', A)
print("Форма транспонированной матрицы:", AT.shape)
# Умножение матриц
B = torch.randn(3, 4)
C = torch.einsum('ij,jk->ik', A, B)
print("Форма умножения:", C.shape)
# Скалярное произведение
a = torch.randn(3)
b = torch.randn(3)
dot = torch.einsum('i,i->', a, b)
print("Скалярное произведение:", dot.item())
Другие расширения