РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
349 of 769 menu

Класс Hardtanh

Класс Hardtanh представляет собой функцию активации, которая ограничивает входные значения в заданном диапазоне. Она преобразует все значения меньше нижней границы в эту границу, а все значения больше верхней границы в верхнюю границу. Параметры min_val и max_val задают диапазон ограничения.

Синтаксис

torch.nn.Hardtanh(min_val=-1.0, max_val=1.0, inplace=False)

Пример

Давайте создадим слой Hardtanh со стандартным диапазоном и применим его к тензору:

import torch hardtanh = torch.nn.Hardtanh() t = torch.tensor([-2.0, -0.5, 0.0, 0.5, 2.0]) res = hardtanh(t) print(res)

Результат выполнения кода:

tensor([-1.0000, -0.5000, 0.0000, 0.5000, 1.0000])

Пример

Давайте изменим диапазон ограничения на значения от 0 до 2:

import torch hardtanh = torch.nn.Hardtanh(min_val=0.0, max_val=2.0) t = torch.tensor([-2.0, -0.5, 0.0, 0.5, 2.0, 3.0]) res = hardtanh(t) print(res)

Результат выполнения кода:

tensor([0.0000, 0.0000, 0.0000, 0.5000, 2.0000, 2.0000])

Пример

Давайте используем режим inplace для изменения исходного тензора:

import torch hardtanh = torch.nn.Hardtanh(inplace=True) t = torch.tensor([-3.0, -1.5, 0.0, 1.5, 3.0]) res = hardtanh(t) print(t)

Результат выполнения кода:

tensor([-1.0000, -1.0000, 0.0000, 1.0000, 1.0000])

Пример

Давайте применим Hardtanh внутри последовательной модели:

import torch model = torch.nn.Sequential( torch.nn.Linear(5, 10), torch.nn.Hardtanh(min_val=-0.5, max_val=0.5), torch.nn.Linear(10, 1) ) t = torch.randn(3, 5) res = model(t) print(res.shape)

Результат выполнения кода:

torch.Size([3, 1])

Смотрите также

  • класс ReLU,
    который реализует функцию активации с ограничением снизу нулём
  • класс ReLU6,
    который ограничивает значения в диапазоне от 0 до 6
  • класс LeakyReLU,
    который пропускает отрицательные значения с небольшим коэффициентом
  • класс Tanh,
    который ограничивает значения в диапазоне от -1 до 1
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить