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

Функция hardswish

Функция hardswish из модуля torch.nn.functional применяет функцию активации HardSwish к каждому элементу входного тензора. Эта функция является аппроксимацией функции Swish, но с более простыми вычислениями. HardSwish определяется как: x * min(max(x + 3, 0), 6) / 6. Функция принимает на вход тензор и возвращает тензор той же формы. Дополнительных параметров у функции нет.

Синтаксис

torch.nn.functional.hardswish(input)

Пример

Применим функцию HardSwish к одномерному тензору:

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

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

tensor([-0.0000, -0.0000, 0.0000, 2.5000, 5.0000])

Пример

Применим функцию HardSwish к двумерному тензору:

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

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

tensor([ [-0.0000, -0.0000, 0.0000], [1.6667, 3.8333, 6.0000], ])

Пример

Используем HardSwish в качестве функции активации внутри последовательной модели. Зафиксируем случайное зерно для воспроизводимости:

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

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

tensor([ [-1.2062, 0.0000, 0.0000], [-1.1625, 0.0000, 0.0000], ], grad_fn=<HardswishBackward0>)

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

  • функцию swish,
    которая является более гладкой версией HardSwish
  • функцию hardsigmoid,
    которая используется в формуле HardSwish
  • функцию relu6,
    которая ограничивает значения сверху числом 6
  • функцию elu,
    которая является экспоненциальной линейной функцией активации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить