Функция torch.add PyTorch


Pytorch torch 参考手册Справочное руководство 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)

Вывод:

tensor([5, 7, 9])

Пример 2: Тензор плюс скаляр

Пример

import torch

# Создайте тензор
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)

Вывод:

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)

Вывод:

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))

Pytorch torch 参考手册Справочное руководство Pytorch torch

Другие расширения