Функция sub
Функция sub выполняет поэлементное вычитание тензоров.
Первым параметром передаётся уменьшаемое (тензор или скаляр),
вторым - вычитаемое (тензор или скаляр).
Функция возвращает новый тензор с результатом вычитания.
Если передан скаляр, он вычитается из каждого элемента тензора.
Синтаксис
torch.sub(input, other, *, alpha=1)
Параметр alpha позволяет умножить вычитаемое на скаляр
перед выполнением операции. По умолчанию alpha=1.
Пример
Давайте вычтем из одного тензора другой тензор:
import torch
t1 = torch.tensor([5, 6, 7, 8, 9])
t2 = torch.tensor([1, 2, 3, 4, 5])
res = torch.sub(t1, t2)
print(res)
Результат выполнения кода:
tensor([4, 4, 4, 4, 4])
Пример
Вычтем скаляр из каждого элемента тензора:
import torch
t = torch.tensor([10, 20, 30, 40, 50])
res = torch.sub(t, 5)
print(res)
Результат выполнения кода:
tensor([5, 15, 25, 35, 45])
Пример
Используем параметр alpha для умножения вычитаемого на коэффициент:
import torch
t1 = torch.tensor([1, 2, 3, 4, 5])
t2 = torch.tensor([2, 2, 2, 2, 2])
res = torch.sub(t1, t2, alpha=3)
print(res)
Результат выполнения кода:
tensor([-5, -4, -3, -2, -1])
В этом примере из каждого элемента первого тензора вычитается соответствующий элемент второго тензора, умноженный на 3.
Пример
Выполним вычитание двумерных тензоров:
import torch
t1 = torch.tensor([
[9, 8, 7],
[6, 5, 4],
])
t2 = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
res = torch.sub(t1, t2)
print(res)
Результат выполнения кода:
tensor([
[8, 6, 4],
[2, 0, -2],
])