Функция F.hardtanh
Функция F.hardtanh применяет жесткий гиперболический тангенс к каждому элементу входного тензора. Эта функция ограничивает значения в диапазоне от min_val до max_val. Значения меньше нижней границы заменяются на min_val, а больше верхней - на max_val.
Параметры функции:
-
input- входной тензор произвольной формы -
min_val- нижняя граница (по умолчанию -1.0) -
max_val- верхняя граница (по умолчанию 1.0) -
inplace- еслиTrue, выполняет операцию на месте (по умолчаниюFalse)
Синтаксис
torch.nn.functional.hardtanh(input, min_val=-1.0, max_val=1.0, inplace=False)
Пример
Давайте применим функцию hardtanh к тензору со значениями от -3 до 3 с границами по умолчанию:
import torch
import torch.nn.functional as F
t = torch.tensor([-3.0, -2.0, -1.5, -0.5, 0.0, 0.5, 1.5, 2.0, 3.0])
res = F.hardtanh(t)
print(res)
Результат выполнения кода:
tensor([-1.0000, -1.0000, -1.0000, -0.5000, 0.0000, 0.5000, 1.0000, 1.0000, 1.0000])
Пример
Изменим границы на min_val=-2.0 и max_val=2.0:
import torch
import torch.nn.functional as F
t = torch.tensor([-3.0, -2.5, -1.0, 0.0, 1.0, 2.5, 3.0])
res = F.hardtanh(t, min_val=-2.0, max_val=2.0)
print(res)
Результат выполнения кода:
tensor([-2.0000, -2.0000, -1.0000, 0.0000, 1.0000, 2.0000, 2.0000])
Пример
Применим функцию к двумерному тензору с использованием стандартных границ:
import torch
import torch.nn.functional as F
t = torch.tensor([[-2.0, -1.0, 0.0], [1.0, 2.0, 3.0]])
res = F.hardtanh(t)
print(res)
Результат выполнения кода:
tensor([[-1.0000, -1.0000, 0.0000],
[1.0000, 1.0000, 1.0000]])