Spec-Zone.ru › PyTorch 2

torch.nn.functional

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

conv1d

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

conv2d

Применяет 2D свёртку к входному изображению, состоящему из нескольких входных каналов.

conv3d

Применяет 3D свёртку к входному изображению, состоящему из нескольких входных каналов.

conv_transpose1d

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

conv_transpose2d

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

conv_transpose3d

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

unfold

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

fold

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

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

avg_pool1d

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

avg_pool2d

Применяет 2D усредняющее пулинговое преобразование в областях kH×kWkH \times kW с шагом sH×sWsH \times sW.

avg_pool3d

Применяет 3D усредняющее пулинговое преобразование в областях kT×kH×kWkT \times kH \times kW с шагом sT×sH×sWsT \times sH \times sW.

max_pool1d

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

max_pool2d

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

max_pool3d

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

max_unpool1d

Вычисляет частичное обратное преобразование MaxPool1d.

max_unpool2d

Вычисляет частичное обратное преобразование MaxPool2d.

max_unpool3d

Вычисляет частичное обратное преобразование MaxPool3d.

lp_pool1d

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

lp_pool2d

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

adaptive_max_pool1d

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

adaptive_max_pool2d

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

adaptive_max_pool3d

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

adaptive_avg_pool1d

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

adaptive_avg_pool2d

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

adaptive_avg_pool3d

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

fractional_max_pool2d

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

fractional_max_pool3d

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

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

scaled_dot_product_attention

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

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

threshold

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

threshold_

Встроенная версия threshold().

relu

Поэлементно применяет функцию линейного выпрямленного блока (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

Когда аргумент приближения равен '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

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

silu

Применяет функцию Sigmoid Linear Unit (SiLU) поэлементно.

mish

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

batch_norm

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

group_norm

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

instance_norm

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

layer_norm

Применяет нормализацию слоя для последних определённого количества измерений.

local_response_norm

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

normalize

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

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

linear

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

bilinear

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

Функции Dropout

dropout

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

alpha_dropout

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

feature_alpha_dropout

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

dropout1d

Случайным образом обнуляет целые каналы (канал — это 1D карта признаков, например, jj-й канал ii-й выборки в входном тензоре — это 1D тензор input[i,j]\text{input}[i, j]).

dropout2d

Случайным образом обнуляет целые каналы (канал — это 2D карта признаков, например, jj-й канал ii-й выборки в входном тензоре — это 2D тензор input[i,j]\text{input}[i, j]).

dropout3d

Случайным образом обнуляет целые каналы (канал — это 3D карта признаков, например, jj-й канал ii-й выборки в входном тензоре — это 3D тензор input[i,j]\text{input}[i, j]).

Функции для разреженных данных

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

Подробности см. в CosineEmbeddingLoss.

cross_entropy

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

ctc_loss

Функция потерь Connectionist Temporal Classification.

gaussian_nll_loss

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

hinge_embedding_loss

Подробности см. в HingeEmbeddingLoss.

kl_div

Потеря расхождения Куллбека-Лейблера.

l1_loss

Функция, которая вычисляет среднее абсолютное значение разности элементов.

mse_loss

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

margin_ranking_loss

Подробности см. в MarginRankingLoss.

multilabel_margin_loss

Подробности см. в MultiLabelMarginLoss.

multilabel_soft_margin_loss

Подробности см. в MultiLabelSoftMarginLoss.

multi_margin_loss

Подробности см. в MultiMarginLoss.

nll_loss

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

huber_loss

Функция, использующая квадратичный член, если абсолютная ошибка по элементам меньше дельта, и член, масштабированный дельта с использованием L1, в противном случае.

smooth_l1_loss

Функция, использующая квадратичный член, если абсолютная ошибка по элементам меньше бета, и L1-член в противном случае.

soft_margin_loss

Подробности см. в SoftMarginLoss.

triplet_margin_loss

Подробности см. в TripletMarginLoss.

triplet_margin_with_distance_loss

Подробности см. в TripletMarginWithDistanceLoss.

Функции Видения

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

Обрабатывает входные данные с уменьшением/увеличением размера до заданного size или заданного scale_factor.

upsample

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

upsample_nearest

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

upsample_bilinear

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

grid_sample

При заданном input и поле потока grid, вычисляет output с помощью значений input и пиксельных позиций из grid.

affine_grid

Генерирует поле потока 2D или 3D (выборочную сетку), исходя из набора аффинных матриц theta.

Функции DataParallel (многопроцессорные, распределённые)

data_parallel

torch.nn.parallel.data_parallel

Вычисляет модуль(вход) параллельно на указанных GPU в device_ids.

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

Spec-Zone.ru

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