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

Функция F.mish

Функция F.mish применяет активацию Mish к каждому элементу входного тензора. Функция вычисляется по формуле: mish(x) = x * tanh(softplus(x)), где softplus(x) = ln(1 + exp(x)). Эта функция является гладкой, не монотонной и саморегулирующейся, что позволяет улучшить качество обучения глубоких нейронных сетей.

Параметры функции:

  • input - входной тензор произвольной формы;
  • inplace - булевый параметр, определяет, выполнять ли операцию на месте (по умолчанию False).

Синтаксис

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

Пример

Давайте применим функцию mish к одномерному тензору:

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

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

tensor([-0.2526, -0.3034, 0.0000, 0.8651, 1.9637])

Пример

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

import torch import torch.nn.functional as F t = torch.tensor([ [-1.5, 0.5], [2.0, -0.5] ]) res = F.mish(t) print(res)

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

tensor([ [-0.4037, 0.3526], [1.9640, -0.2176] ])

Пример

Используем функцию mish в составе нейронной сети:

import torch import torch.nn as nn import torch.nn.functional as F class MyModel(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Linear(10, 20) self.fc2 = nn.Linear(20, 5) def forward(self, x): x = self.fc1(x) x = F.mish(x) x = self.fc2(x) return x model = MyModel() t = torch.randn(4, 10) res = model(t) print(res.shape)

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

torch.Size([4, 5])

Пример

Сравним значения функции mish для положительных и отрицательных чисел:

import torch import torch.nn.functional as F t_pos = torch.tensor([1.0, 2.0, 3.0]) t_neg = torch.tensor([-1.0, -2.0, -3.0]) pos_res = F.mish(t_pos) neg_res = F.mish(t_neg) print("Positive values:", pos_res) print("Negative values:", neg_res)

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

Positive values: tensor([0.8651, 1.9637, 2.9937]) Negative values: tensor([-0.3034, -0.1376, -0.0555])

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

  • функцию relu,
    которая применяет активацию ReLU
  • функцию leaky_relu,
    которая применяет активацию Leaky ReLU
  • функцию elu,
    которая применяет активацию ELU
  • функцию silu,
    которая применяет активацию SiLU (Swish)
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить