Spec-Zone.ru › PyTorch 2.14

torch.nn.functional

Создано: 11 июня 2019 г. | Последнее обновление: 8 мая 2026 г.

Функции свёртки

conv1d

Выполняет одномерную свёртку входного сигнала, состоящего из нескольких входных плоскостей.

conv2d

Выполняет двумерную свёртку входного изображения, состоящего из нескольких входных плоскостей.

conv3d

Выполняет трёхмерную свёртку входного изображения, состоящего из нескольких входных плоскостей.

conv_transpose1d

Выполняет операцию одномерной транспонированной свёртки входного сигнала, состоящего из нескольких входных плоскостей; иногда её также называют «деконволюцией».

conv_transpose2d

Выполняет операцию двумерной транспонированной свёртки входного изображения, состоящего из нескольких входных плоскостей; иногда её также называют «деконволюцией».

conv_transpose3d

Выполняет операцию трёхмерной транспонированной свёртки входного изображения, состоящего из нескольких входных плоскостей; иногда её также называют «деконволюцией».

unfold

Извлекает скользящие локальные блоки из входного тензора с пакетом данных.

fold

Объединяет массив скользящих локальных блоков в большой содержащий их тензор.

Функции пулинга

avg_pool1d

Выполняет одномерный пулинг со средним значением входного сигнала, состоящего из нескольких входных плоскостей.

avg_pool2d

Выполняет двумерный пулинг со средним значением в областях размером kH×kWkH \times kW с шагом sH×sWsH \times sW.

avg_pool3d

Выполняет трёхмерный пулинг со средним значением в областях размером kT×kH×kWkT \times kH \times kW с шагом sT×sH×sWsT \times sH \times sW.

max_pool1d

Выполняет одномерный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

max_pool2d

Выполняет двумерный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

max_pool3d

Выполняет трёхмерный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

max_unpool1d

Вычисляет частичную обратную операцию для MaxPool1d.

max_unpool2d

Вычисляет частичную обратную операцию для MaxPool2d.

max_unpool3d

Вычисляет частичную обратную операцию для MaxPool3d.

lp_pool1d

Выполняет одномерный степенной пулинг со средним значением входного сигнала, состоящего из нескольких входных плоскостей.

lp_pool2d

Выполняет двумерный степенной пулинг со средним значением входного сигнала, состоящего из нескольких входных плоскостей.

lp_pool3d

Выполняет трёхмерный степенной пулинг со средним значением входного сигнала, состоящего из нескольких входных плоскостей.

adaptive_max_pool1d

Выполняет адаптивный одномерный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

adaptive_max_pool2d

Выполняет адаптивный двумерный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

adaptive_max_pool3d

Выполняет адаптивный трёхмерный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

adaptive_avg_pool1d

Выполняет адаптивный одномерный пулинг со средним значением входного сигнала, состоящего из нескольких входных плоскостей.

adaptive_avg_pool2d

Выполняет адаптивный двумерный пулинг со средним значением входного сигнала, состоящего из нескольких входных плоскостей.

adaptive_avg_pool3d

Выполняет адаптивный трёхмерный пулинг со средним значением входного сигнала, состоящего из нескольких входных плоскостей.

fractional_max_pool2d

Выполняет двумерный дробный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

fractional_max_pool3d

Выполняет трёхмерный дробный пулинг с максимумом для входного сигнала, состоящего из нескольких входных плоскостей.

Механизмы внимания

Модуль torch.nn.attention.bias содержит смещения внимания, предназначенные для использования с scaled_dot_product_attention.

scaled_dot_product_attention

scaled_dot_product_attention(query, key, value, attn_mask=None, dropout_p=0.0,

Нелинейные функции активации

threshold

Применяет пороговое значение к каждому элементу входного тензора.

threshold_

Версия threshold(), выполняющая операцию на месте.

relu

Поэлементно применяет функцию линейного выпрямления.

relu_

Версия relu(), выполняющая операцию на месте.

hardtanh

Поэлементно применяет функцию HardTanh.

hardtanh_

Версия hardtanh(), выполняющая операцию на месте.

hardswish

Поэлементно применяет функцию hardswish.

relu6

Поэлементно применяет функцию ReLU6(x)=min⁡(max⁡(0,x),6)\text{ReLU6}(x) = \min(\max(0,x), 6).

elu

Поэлементно применяет функцию экспоненциальной линейной единицы (ELU).

elu_

Версия elu(), выполняющая операцию на месте.

selu

Поэлементно применяет функцию SELU(x)=scale∗(max⁡(0,x)+min⁡(0,α∗(exp⁡(x)−1)))\text{SELU}(x) = scale * (\max(0,x) + \min(0, \alpha * (\exp(x) - 1))), где α=1.6732632423543772848170429916717\alpha=1.6732632423543772848170429916717 и scale=1.0507009873554804934193349852946scale=1.0507009873554804934193349852946.

celu

Поэлементно применяет функцию CELU(x)=max⁡(0,x)+min⁡(0,α∗(exp⁡(x/α)−1))\text{CELU}(x) = \max(0,x) + \min(0, \alpha * (\exp(x/\alpha) - 1)).

leaky_relu

Поэлементно применяет функцию LeakyReLU(x)=max⁡(0,x)+negative_slope∗min⁡(0,x)\text{LeakyReLU}(x) = \max(0, x) + \text{negative\_slope} * \min(0, x)

leaky_relu_

Версия leaky_relu(), выполняющая операцию на месте.

prelu

Поэлементно применяет функцию PReLU(x)=max⁡(0,x)+weight∗min⁡(0,x)\text{PReLU}(x) = \max(0,x) + \text{weight} * \min(0,x), где weight — обучаемый параметр.

rrelu

Случайная Leaky ReLU.

rrelu_

Версия rrelu(), выполняющая операцию на месте.

glu

Линейный блок с вентилем.

gelu

Если аргумент approximate равен 'none', поэлементно применяется функция GELU(x)=x∗Φ(x)\text{GELU}(x) = x * \Phi(x)

logsigmoid

Поэлементно применяет функцию LogSigmoid(xi)=log⁡(11+exp⁡(−xi))\text{LogSigmoid}(x_i) = \log \left(\frac{1}{1 + \exp(-x_i)}\right)

hardshrink

Поэлементно применяет функцию жёсткого сжатия

tanhshrink

Поэлементно применяет функцию Tanhshrink(x)=x−Tanh(x)\text{Tanhshrink}(x) = x - \text{Tanh}(x)

softsign

Поэлементно применяет функцию SoftSign(x)=x1+∣x∣\text{SoftSign}(x) = \frac{x}{1 + |x|}

softplus

Поэлементно применяет функцию Softplus(x)=1β∗log⁡(1+exp⁡(β∗x))\text{Softplus}(x) = \frac{1}{\beta} * \log(1 + \exp(\beta * x)).

softmin

Применяет функцию softmin.

softmax

Применяет функцию softmax.

softshrink

Поэлементно применяет функцию мягкого сжатия

gumbel_softmax

Выбирает выборку из распределения Gumbel-Softmax (ссылка 1 ссылка 2) и при необходимости дискретизирует её.

log_softmax

Применяет softmax, а затем логарифмирует результат.

tanh

Поэлементно применяет функцию Tanh(x)=tanh⁡(x)=exp⁡(x)−exp⁡(−x)exp⁡(x)+exp⁡(−x)\text{Tanh}(x) = \tanh(x) = \frac{\exp(x) - \exp(-x)}{\exp(x) + \exp(-x)}

sigmoid

Поэлементно применяет функцию Sigmoid(x)=11+exp⁡(−x)\text{Sigmoid}(x) = \frac{1}{1 + \exp(-x)}

hardsigmoid

Поэлементно применяет функцию Hardsigmoid.

silu

Поэлементно применяет функцию сигмоидальной линейной единицы (SiLU).

mish

Поэлементно применяет функцию Mish.

batch_norm

Выполняет пакетную нормализацию каждого канала по пакету данных.

group_norm

Выполняет групповую нормализацию по заданному числу последних измерений.

instance_norm

Независимо нормализует каждый канал каждого образца данных в пакете.

layer_norm

Выполняет нормализацию слоя по заданному числу последних измерений.

local_response_norm

Выполняет локальную нормализацию отклика входного сигнала.

rms_norm

Выполняет нормализацию слоя по среднеквадратичному значению.

normalize

Выполняет нормализацию LpL_p входных данных по указанному измерению.

Линейные функции

linear

Применяет линейное преобразование к входным данным: y=xAT+by = xA^T + b.

bilinear

Применяет билинейное преобразование к входным данным: y=x1TAx2+by = x_1^T A x_2 + b

Функции прореживания

dropout

Во время обучения случайным образом обнуляет некоторые элементы входного тензора с вероятностью p.

alpha_dropout

Применяет альфа-прореживание к входным данным.

feature_alpha_dropout

Случайным образом маскирует целые каналы (канал — это карта признаков).

dropout1d

Случайным образом обнуляет целые каналы (канал — это одномерная карта признаков).

dropout2d

Случайным образом обнуляет целые каналы (канал — это двумерная карта признаков).

dropout3d

Случайным образом обнуляет целые каналы (канал — это трёхмерная карта признаков).

Разреженные функции

embedding

Создаёт простую таблицу поиска для получения эмбеддингов из словаря фиксированного размера.

embedding_bag

Вычисляет суммы, средние значения или максимумы bags эмбеддингов.

one_hot

Принимает LongTensor со значениями индексов формы (*) и возвращает тензор формы (*, num_classes), в котором везде стоят нули, кроме позиций, где индекс последнего измерения совпадает с соответствующим значением входного тензора; в таких позициях стоит 1.

Функции расстояния

pairwise_distance

Подробности см. в разделе torch.nn.PairwiseDistance

cosine_similarity

Возвращает косинусное сходство между x1 и x2, вычисленное вдоль измерения dim.

pdist

Вычисляет расстояние в p-норме между каждой парой векторов-строк во входных данных.

Функции потерь

binary_cross_entropy

Вычисляет бинарную кросс-энтропию между целевыми и входными вероятностями.

binary_cross_entropy_with_logits

Вычисляет бинарную кросс-энтропию между целевыми значениями и входными логитами.

poisson_nll_loss

Вычисляет функцию потерь на основе отрицательного логарифмического правдоподобия распределения Пуассона.

cosine_embedding_loss

Вычисляет функцию потерь косинусного эмбеддинга.

cross_entropy

Вычисляет функцию потерь кросс-энтропии между входными логитами и целевыми значениями.

ctc_loss

Вычисляет функцию потерь Connectionist Temporal Classification (CTC).

gaussian_nll_loss

Вычисляет функцию потерь на основе отрицательного логарифмического правдоподобия гауссовского распределения.

hinge_embedding_loss

Вычисляет функцию потерь hinge-эмбеддинга.

kl_div

Вычисляет функцию потерь дивергенции Кульбака — Лейблера (KL).

l1_loss

Вычисляет функцию потерь L1 с необязательным взвешиванием.

linear_cross_entropy

Вычисляет функцию потерь кросс-энтропии между линейно преобразованными входными данными и целевыми значениями.

mse_loss

Вычисляет среднеквадратичную ошибку поэлементно с необязательным взвешиванием.

margin_ranking_loss

Вычисляет функцию потерь ранжирования с отступом.

multilabel_margin_loss

Вычисляет функцию потерь с отступом для нескольких меток.

multilabel_soft_margin_loss

Вычисляет функцию потерь с мягким отступом для нескольких меток.

multi_margin_loss

Вычисляет функцию потерь с несколькими отступами и необязательным взвешиванием.

nll_loss

Вычисляет функцию потерь на основе отрицательного логарифмического правдоподобия.

huber_loss

Вычисляет функцию потерь Хьюбера с необязательным взвешиванием.

smooth_l1_loss

Вычисляет функцию потерь Smooth L1.

soft_margin_loss

Вычисляет функцию потерь с мягким отступом.

triplet_margin_loss

Вычисляет триплетную функцию потерь для заданных входных тензоров и отступа, большего 0.

triplet_margin_with_distance_loss

Вычисляет триплетную функцию потерь с отступом для входных тензоров, используя пользовательскую функцию расстояния.

Функции обработки изображений

pixel_shuffle

Переставляет элементы тензора формы (∗,C×r2,H,W)(*, C \times r^2, H, W) в тензор формы (∗,C,H×r,W×r)(*, C, H \times r, W \times r), где r — upscale_factor.

pixel_unshuffle

Выполняет обратную операцию по отношению к PixelShuffle, переставляя элементы тензора формы (∗,C,H×r,W×r)(*, C, H \times r, W \times r) в тензор формы (∗,C×r2,H,W)(*, C \times r^2, H, W), где r — downscale_factor.

pad

Добавляет отступы к тензору.

interpolate

Уменьшает или увеличивает размер входных данных.

upsample

Увеличивает размер входных данных.

upsample_nearest

Увеличивает размер входных данных, используя значения пикселей ближайших соседей.

upsample_bilinear

Увеличивает размер входных данных с помощью билинейной интерполяции.

grid_sample

Вычисляет выборку по сетке.

affine_grid

Создаёт двумерное или трёхмерное поле потока (сетку выборки) на основе пакета аффинных матриц theta.

Функции DataParallel (несколько GPU, распределённые вычисления)

data_parallel

torch.nn.parallel.data_parallel

Выполняет module(input) параллельно на GPU, указанных в device_ids.

Функции низкой точности

ScalingType

псевдоним для _ScalingType

SwizzleType

псевдоним для _SwizzleType

grouped_mm

Вычисляет сгруппированное матричное произведение, использующее общие формы весов для экспертов, но допускающее переменное количество токенов для каждого эксперта, что характерно для слоёв смеси экспертов (MoE).

scaled_mm

scaled_mm(mat_a, mat_b, scale_a, scale_recipe_a, scale_b, scale_recipe_b, swizzle_a, swizzle_b, bias, output_dtype,

scaled_grouped_mm

scaled_grouped_mm(mat_a, mat_b, scale_a, scale_recipe_a, scale_b, scale_recipe_b, swizzle_a, swizzle_b, bias, offs,

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/nn.functional.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API