Функция add
Функция add выполняет поэлементное сложение двух тензоров. Первым параметром она принимает тензор, вторым - тензор или скаляр, который нужно прибавить. Также можно передать необязательный параметр alpha, который умножает второй тензор перед сложением, и параметр out для указания тензора, в который будет записан результат.
Синтаксис
torch.add(input, other, alpha=1, out=None)
Пример
Давайте сложим два тензора одинаковой размерности:
import torch
t1 = torch.tensor([1, 2, 3, 4, 5])
t2 = torch.tensor([10, 20, 30, 40, 50])
res = torch.add(t1, t2)
print(res)
Результат выполнения кода:
tensor([11, 22, 33, 44, 55])
Пример
Теперь давайте прибавим скаляр к тензору:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.add(t, 10)
print(res)
Результат выполнения кода:
tensor([11, 12, 13, 14, 15])
Пример
Используем параметр alpha для умножения второго тензора перед сложением:
import torch
t1 = torch.tensor([1, 2, 3, 4, 5])
t2 = torch.tensor([10, 20, 30, 40, 50])
res = torch.add(t1, t2, alpha=2)
print(res)
Результат выполнения кода:
tensor([21, 42, 63, 84, 105])
Пример
Функция поддерживает широковещание, поэтому можно складывать тензоры разных форм:
import torch
t1 = torch.tensor([[1, 2, 3], [4, 5, 6]])
t2 = torch.tensor([10, 20, 30])
res = torch.add(t1, t2)
print(res)
Результат выполнения кода:
tensor([
[11, 22, 33],
[14, 25, 36],
])
Пример
Можно использовать оператор +, который является синтаксическим сахаром для функции add:
import torch
t1 = torch.tensor([1, 2, 3, 4, 5])
t2 = torch.tensor([10, 20, 30, 40, 50])
res = t1 + t2
print(res)
Результат выполнения кода:
tensor([11, 22, 33, 44, 55])
Пример
Используем параметр out для записи результата в существующий тензор:
import torch
t1 = torch.tensor([1, 2, 3, 4, 5])
t2 = torch.tensor([10, 20, 30, 40, 50])
out = torch.empty(5)
torch.add(t1, t2, out=out)
print(out)
Результат выполнения кода:
tensor([11., 22., 33., 44., 55.])