Функция torch.add PyTorch
Справочное руководство Pytorch torch
torch.addявляется функцией в PyTorch, используемой для поэлементного сложения. Она складывает два тензора или тензор и скаляр.
Это одна из самых базовых математических операций и используется в различных вычислительных сценариях в глубоком обучении.
Определение функции
torch.add(input, other, alpha=1, out=None)
Parameters:
input(Tensor): первый входной тензор.other(Tensor или float): второй входной тензор или скаляр.alpha(float, необязательный): масштабирующий коэффициент,otherкоторый умножается на это значение, а затем добавляется кinputнему, по умолчанию равен 1.out(Tensor, необязательный): выходной тензор.
Возвращаемое значение:
torch.Tensor: Возвращает тензор после сложения.
Примеры использования
Пример 1: Сложение двух тензоров
Пример
import torch
# Создайте два тензора
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Сложите их
c = torch.add(a, b)
print(c)
# Создайте два тензора
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Сложите их
c = torch.add(a, b)
print(c)
Вывод:
tensor([5, 7, 9])
Пример 2: Тензор плюс скаляр
Пример
import torch
# Создайте тензор
a = torch.tensor([1, 2, 3])
# Добавьте скаляр
b = torch.add(a, 10)
print(b)
# Создайте тензор
a = torch.tensor([1, 2, 3])
# Добавьте скаляр
b = torch.add(a, 10)
print(b)
Вывод:
tensor([11, 12, 13])
Пример 3: Использование параметра alpha
Пример
import torch
# Создайте два тензора
a = torch.tensor([1.0, 2.0, 3.0])
b = torch.tensor([1.0, 2.0, 3.0])
# Вычислите a + 2 * b
c = torch.add(a, b, alpha=2)
print(c)
# Создайте два тензора
a = torch.tensor([1.0, 2.0, 3.0])
b = torch.tensor([1.0, 2.0, 3.0])
# Вычислите a + 2 * b
c = torch.add(a, b, alpha=2)
print(c)
Вывод:
tensor([3., 6., 9.])
alphaПараметр полезен при реализации некоторых алгоритмов, например при вычисленииinput + alpha * other。
Пример 4: Механизм широковещания
Пример
import torch
# Сложение тензоров разных форм (broadcasting)
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
b = torch.tensor([1, 2, 3])
c = torch.add(a, b)
print(c)
# Сложение тензоров разных форм (broadcasting)
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
b = torch.tensor([1, 2, 3])
c = torch.add(a, b)
print(c)
Вывод:
tensor([[2, 4, 6],
[5, 7, 9])
PyTorch поддерживает механизм broadcasting, который позволяет выполнять операции над тензорами разных форм.
Использование оператора сложения
Помимо использованияtorch.add()функции, можно также напрямую использовать+оператор, и они дают одинаковый результат:
Пример
import torch
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Оба метода эквивалентны
c1 = torch.add(a, b)
c2 = a + b
print(c1)
print(c2)
print(torch.equal(c1, c2))
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])
# Оба метода эквивалентны
c1 = torch.add(a, b)
c2 = a + b
print(c1)
print(c2)
print(torch.equal(c1, c2))
Другие расширения