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

Класс Tanh

Класс Tanh из модуля torch.nn реализует функцию активации гиперболического тангенса. Она преобразует входные значения в диапазон от -1 до 1. Класс принимает входной тензор произвольной формы и применяет к каждому элементу функцию tanh. Обычно используется в скрытых слоях нейронных сетей.

Синтаксис

torch.nn.Tanh()

Класс не требует параметров при инициализации.

Пример

Создадим объект класса Tanh и применим его к тензору:

import torch import torch.nn as nn tanh = nn.Tanh() t = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0]) res = tanh(t) print(res)

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

tensor([-0.9640, -0.7616, 0.0000, 0.7616, 0.9640])

Пример

Применим Tanh в составе последовательной модели Sequential:

import torch import torch.nn as nn model = nn.Sequential( nn.Linear(10, 5), nn.Tanh(), nn.Linear(5, 1) ) t = torch.randn(3, 10) res = model(t) print(res.shape)

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

torch.Size([3, 1])

Пример

Сравним работу Tanh и функции sigmoid на одних и тех же данных:

import torch import torch.nn as nn tanh = nn.Tanh() sigmoid = nn.Sigmoid() t = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0]) res_tanh = tanh(t) res_sigmoid = sigmoid(t) print("Tanh:", res_tanh) print("Sigmoid:", res_sigmoid)

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

Tanh: tensor([-0.9951, -0.7616, 0.0000, 0.7616, 0.9951]) Sigmoid: tensor([0.0474, 0.2689, 0.5000, 0.7311, 0.9526])

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

  • класс Sigmoid,
    который реализует сигмоидальную функцию активации
  • класс ReLU,
    который реализует функцию активации ReLU
  • класс Softmax,
    который реализует функцию активации Softmax
  • класс LeakyReLU,
    который является модификацией функции ReLU
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить