Функция relu
Функция relu применяет функцию активации ReLU к каждому элементу тензора.
ReLU преобразует все отрицательные значения в ноль, а положительные оставляет без изменений.
Первый параметр - входной тензор. Вторым параметром можно указать, нужно ли изменять тензор на месте.
Функция возвращает новый тензор с применённой активацией.
Синтаксис
torch.relu(input, inplace=False)
Пример
Давайте применим ReLU к тензору с отрицательными и положительными числами:
import torch
t = torch.tensor([-2, -1, 0, 1, 2])
res = torch.relu(t)
print(res)
Результат выполнения кода:
tensor([0, 0, 0, 1, 2])
Пример
Применим ReLU к двумерному тензору:
import torch
t = torch.tensor([
[-3, -2, -1],
[0, 1, 2],
])
res = torch.relu(t)
print(res)
Результат выполнения кода:
tensor([
[0, 0, 0],
[0, 1, 2],
])
Пример
Применим ReLU с изменением тензора на месте:
import torch
t = torch.tensor([-5, -3, 0, 3, 5])
torch.relu(t, inplace=True)
print(t)
Результат выполнения кода:
tensor([0, 0, 0, 3, 5])
Пример
Используем ReLU в нейронной сети как слой активации:
import torch
import torch.nn as nn
model = nn.Sequential(
nn.Linear(10, 5),
nn.ReLU(),
nn.Linear(5, 1)
)
x = torch.randn(3, 10)
res = model(x)
print(res.shape)
Результат выполнения кода:
torch.Size([3, 1])