Spec-Zone.ru › PyTorch 1

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.

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

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

Если значение аргумента `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

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

silu

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

mish

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

batch_norm

Применяет Batch Normalization для каждого канала по всем данным в пакете.

group_norm

Применяет Group Normalization для последних определённых измерений.

instance_norm

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

layer_norm

Применяет Layer Normalization для последних определённых измерений.

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

Применяет alpha dropout к входу.

feature_alpha_dropout

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

dropout1d

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

dropout2d

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

dropout3d

Случайным образом обнуляет целые каналы (канал — это трехмерная карта признаков, например, jj-й канал ii-й выборки в пакетном входе — трехмерный тензор 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

Вычисляет значения в точках, заданных сеткой (grid), на основе входного тензора и карты сдвигов (flow-field). Использование input и grid, с получением output с помощью input значений и пиксельных координат из grid.

affine_grid

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

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

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/1.13/nn.functional.html

Spec-Zone.ru

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