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

Функция hardsigmoid

Функция hardsigmoid из модуля torch.nn.functional применяет жесткую сигмоидальную активацию к каждому элементу входного тензора. Жесткий сигмоид является кусочно-линейной аппроксимацией стандартной сигмоидальной функции, что делает его более вычислительно эффективным. Первым параметром функция принимает входной тензор, вторым параметром можно передать значение inplace для выполнения операции на месте.

Функция вычисляется по формуле: если x > 3, то выход равен 1; если x < -3, то выход равен 0; в противном случае выход равен (x + 3) / 6. Это делает функцию быстрой и подходящей для использования в глубоких нейронных сетях, особенно на мобильных устройствах.

Синтаксис

torch.nn.functional.hardsigmoid(input, inplace=False)

Пример

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

import torch import torch.nn.functional as F t = torch.tensor([-5.0, -2.0, 0.0, 2.0, 5.0]) res = F.hardsigmoid(t) print(res)

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

tensor([0.0000, 0.1667, 0.5000, 0.8333, 1.0000])

Пример

Применим функцию к двумерному тензору для наглядного сравнения элементов:

import torch import torch.nn.functional as F t = torch.tensor([ [-4.0, -1.0, 2.0], [1.0, 4.0, -3.0] ]) res = F.hardsigmoid(t) print(res)

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

tensor([ [0.0000, 0.3333, 0.8333], [0.6667, 1.0000, 0.0000] ])

Пример

Использование жесткого сигмоида в нейронной сети в качестве функции активации:

import torch import torch.nn as nn import torch.nn.functional as F class MyModel(nn.Module): def __init__(self): super().__init__() self.fc = nn.Linear(10, 5) def forward(self, x): x = self.fc(x) return F.hardsigmoid(x) model = MyModel() t = torch.randn(3, 10) res = model(t) print(res.shape)

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

torch.Size([3, 5])

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

  • функцию sigmoid,
    которая применяет стандартную сигмоидальную активацию
  • функцию hardswish,
    которая применяет жесткую функцию swish
  • функцию relu,
    которая применяет выпрямленную линейную активацию
  • функцию hardtanh,
    которая применяет жесткий гиперболический тангенс
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить