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

Функция F.softmin

Функция F.softmin применяется к тензору и вычисляет softmin для каждого элемента вдоль заданной размерности. По сути, это softmax, но с отрицательным знаком перед входными данными: softmin(x) = exp(-x) / sum(exp(-x)). В результате элементы с меньшими значениями получают большие веса. Первый параметр функции - входной тензор input, второй - размерность dim, по которой применяется операция. Также можно указать тип данных dtype для выходного тензора.

Синтаксис

torch.nn.functional.softmin(input, dim, dtype=None)

Пример

Рассмотрим базовое применение функции F.softmin к одномерному тензору:

import torch import torch.nn.functional as F t = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0]) res = F.softmin(t, dim=0) print(res)

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

tensor([0.6364, 0.2341, 0.0861, 0.0317, 0.0117])

Как видно, наибольший вес получил наименьший элемент (1.0), а наименьший вес - наибольший (5.0).

Пример

Применим F.softmin к двумерному тензору вдоль разных размерностей:

import torch import torch.nn.functional as F t = torch.tensor([ [1.0, 2.0, 3.0], [4.0, 5.0, 6.0], ]) res_dim0 = F.softmin(t, dim=0) res_dim1 = F.softmin(t, dim=1) print("Softmin по dim=0:") print(res_dim0) print("\nSoftmin по dim=1:") print(res_dim1)

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

Softmin по dim=0: tensor([ [0.9526, 0.9526, 0.9526], [0.0474, 0.0474, 0.0474], ]) Softmin по dim=1: tensor([ [0.6652, 0.2447, 0.0900], [0.0900, 0.2447, 0.6652], ])

При вычислении по строке (dim=1) минимальное значение в строке получает наибольший вес.

Пример

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

import torch import torch.nn.functional as F t = torch.tensor([1, 2, 3, 4, 5]) res = F.softmin(t, dim=0, dtype=torch.float64) print(res.dtype) print(res)

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

torch.float64 tensor([0.6364, 0.2341, 0.0861, 0.0317, 0.0117], dtype=torch.float64)

Выходной тензор имеет тип float64, как и было указано.

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

  • функцию F.softmax,
    которая вычисляет softmax для входного тензора
  • функцию F.log_softmax,
    которая вычисляет логарифм softmax
  • функцию F.softplus,
    которая является гладкой аппроксимацией ReLU
  • функцию F.softsign,
    которая вычисляет softsign для элементов тензора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить