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

Класс Softmax

Класс Softmax из модуля torch.nn применяет функцию softmax к входному тензору вдоль заданной размерности. Это преобразование часто используется в задачах многоклассовой классификации для получения вероятностей принадлежности к классам. Первый параметр dim указывает ось, по которой производится нормализация. Второй параметр dtype позволяет задать тип данных выходного тензора.

Синтаксис

torch.nn.Softmax(dim, dtype=None)

Пример

Создадим слой softmax и применим его к тензору логитов:

import torch import torch.nn as nn softmax = nn.Softmax(dim=0) t = torch.tensor([1.0, 2.0, 3.0]) res = softmax(t) print(res)

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

tensor([0.0900, 0.2447, 0.6652])

Пример

Применим softmax к двумерному тензору по строкам:

import torch import torch.nn as nn softmax = nn.Softmax(dim=1) t = torch.tensor([[1.0, 2.0, 3.0], [1.0, 2.0, 3.0]]) res = softmax(t) print(res)

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

tensor([ [0.0900, 0.2447, 0.6652], [0.0900, 0.2447, 0.6652], ])

Пример

Используем параметр dtype для указания типа данных:

import torch import torch.nn as nn softmax = nn.Softmax(dim=0, dtype=torch.float64) t = torch.tensor([1.0, 2.0, 3.0]) res = softmax(t) print(res.dtype)

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

torch.float64

Пример

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

import torch import torch.nn as nn model = nn.Sequential( nn.Linear(4, 3), nn.Softmax(dim=1) ) t = torch.randn(2, 4) res = model(t) print(res)

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

tensor([ [0.4246, 0.0533, 0.5221], [0.7972, 0.0908, 0.1120], ], grad_fn=<SoftmaxBackward0>)

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

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