Spec-Zone.ru › PyTorch 2

torch.nn

Это основные строительные блоки для графиков:

torch.nn

  • Контейнеры
  • Сверточные слои
  • Слои пулинга
  • Слои заполнения
  • Нелинейные активации (взвешенная сумма, нелинейность)
  • Нелинейные активации (другие)
  • Слои нормализации
  • Рекуррентные слои
  • Слои трансформеров
  • Линейные слои
  • Слои дропаута
  • Разреженные слои
  • Функции расстояния
  • Функции потерь
  • Слои компьютерного зрения
  • Слои перемешивания
  • Слои DataParallel (много-GPU, распределенные)
  • Утилиты
  • Квантованные функции
  • Инициализация ленивых модулей
Parameter

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

UninitializedParameter

Неинициализированный параметр.

UninitializedBuffer

Неинициализированный буфер.

Контейнеры

Module

Базовый класс для всех нейронных модулей.

Sequential

Последовательный контейнер.

ModuleList

Содержит подмодули в списке.

ModuleDict

Содержит подмодули в словаре.

ParameterList

Содержит параметры в списке.

ParameterDict

Содержит параметры в словаре.

Глобальные хуки для модуля

register_module_forward_pre_hook

Регистрирует предход модуля для вычисления.

register_module_forward_hook

Регистрирует глобальный хук для всех модулей.

register_module_backward_hook

Регистрирует обратный хук для всех модулей.

register_module_full_backward_pre_hook

Регистрирует предход обратного хука для всех модулей.

register_module_full_backward_hook

Регистрирует обратный хук для всех модулей.

register_module_buffer_registration_hook

Регистрирует хук для регистрации буферов для всех модулей.

register_module_module_registration_hook

Регистрирует хук для регистрации модулей для всех модулей.

register_module_parameter_registration_hook

Регистрирует хук для регистрации параметров для всех модулей.

Сверточные слои

nn.Conv1d

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

nn.Conv2d

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

nn.Conv3d

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

nn.ConvTranspose1d

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

nn.ConvTranspose2d

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

nn.ConvTranspose3d

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

nn.LazyConv1d

Модуль torch.nn.Conv1d с ленивой инициализацией аргумента in_channels модуля Conv1d, который выводится из input.size(1).

nn.LazyConv2d

Модуль torch.nn.Conv2d с ленивой инициализацией аргумента in_channels модуля Conv2d, который выводится из input.size(1).

nn.LazyConv3d

Модуль torch.nn.Conv3d с ленивой инициализацией аргумента in_channels модуля Conv3d, который выводится из input.size(1).

nn.LazyConvTranspose1d

Модуль torch.nn.ConvTranspose1d с ленивой инициализацией аргумента in_channels модуля ConvTranspose1d, который выводится из input.size(1).

nn.LazyConvTranspose2d

Модуль torch.nn.ConvTranspose2d с ленивой инициализацией аргумента in_channels модуля ConvTranspose2d, который выводится из input.size(1).

nn.LazyConvTranspose3d

Модуль torch.nn.ConvTranspose3d с ленивой инициализацией аргумента in_channels модуля ConvTranspose3d, который выводится из input.size(1).

nn.Unfold

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

nn.Fold

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

Слои пулинга

nn.MaxPool1d

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

nn.MaxPool2d

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

nn.MaxPool3d

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

nn.MaxUnpool1d

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

nn.MaxUnpool2d

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

nn.MaxUnpool3d

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

nn.AvgPool1d

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

nn.AvgPool2d

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

nn.AvgPool3d

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

nn.FractionalMaxPool2d

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

nn.FractionalMaxPool3d

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

nn.LPPool1d

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

nn.LPPool2d

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

nn.AdaptiveMaxPool1d

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

nn.AdaptiveMaxPool2d

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

nn.AdaptiveMaxPool3d

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

nn.AdaptiveAvgPool1d

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

nn.AdaptiveAvgPool2d

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

nn.AdaptiveAvgPool3d

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

Слои заполнения

nn.ReflectionPad1d

Обрабатывает входной тензор с использованием отражения границ.

nn.ReflectionPad2d

Обрабатывает входной тензор с использованием отражения границ.

nn.ReflectionPad3d

Обрабатывает входной тензор с использованием отражения границ.

nn.ReplicationPad1d

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

nn.ReplicationPad2d

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

nn.ReplicationPad3d

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

nn.ZeroPad1d

Обрабатывает входной тензор, заполняя границы нулями.

nn.ZeroPad2d

Обрабатывает входной тензор, заполняя границы нулями.

nn.ZeroPad3d

Обрабатывает входной тензор, заполняя границы нулями.

nn.ConstantPad1d

Обрабатывает входной тензор, заполняя границы константным значением.

nn.ConstantPad2d

Обрабатывает входной тензор, заполняя границы константным значением.

nn.ConstantPad3d

Обрабатывает входной тензор, заполняя границы константным значением.

Нелинейные активации (взвешенная сумма, нелинейность)

nn.ELU

Применяет функцию Exponential Linear Unit (ELU) поэлементно, как описано в статье: Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs).

nn.Hardshrink

Применяет функцию Hard Shrinkage (Hardshrink) поэлементно.

nn.Hardsigmoid

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

nn.Hardtanh

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

nn.Hardswish

Применяет функцию Hardswish поэлементно, как описано в статье: Searching for MobileNetV3.

nn.LeakyReLU

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

nn.LogSigmoid

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

nn.MultiheadAttention

Позволяет модели совместно обращаться к информации из различных подпространств представлений, как описано в статье: Attention Is All You Need.

nn.PReLU

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

nn.ReLU

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

nn.ReLU6

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

nn.RReLU

Применяет функцию случайного утечки выпрямленного линейного блока поэлементно, как описано в статье:

nn.SELU

Применяется поэлементно, как:

nn.CELU

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

nn.GELU

Применяет функцию Gaussian Error Linear Units:

nn.Sigmoid

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

nn.SiLU

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

nn.Mish

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

nn.Softplus

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

nn.Softshrink

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

nn.Softsign

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

nn.Tanh

Применяет функцию гиперболического тангенса (Tanh) поэлементно.

nn.Tanhshrink

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

nn.Threshold

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

nn.GLU

Применяет функцию шлюзового линейного блока GLU(a,b)=a⊗σ(b){GLU}(a, b)= a \otimes \sigma(b), где aa — первая половина входных матриц, а bb — вторая половина.

Нелинейные активации (прочие)

nn.Softmin

Применяет функцию Softmin к n-мерному тензору входных данных, масштабируя их так, чтобы элементы n-мерного тензора выходных данных находились в диапазоне [0, 1] и суммировались до 1.

nn.Softmax

Применяет функцию Softmax к n-мерному тензору входных данных, масштабируя их так, чтобы элементы n-мерного тензора выходных данных находились в диапазоне [0,1] и суммировались до 1.

nn.Softmax2d

Применяет SoftMax по признакам к каждому пространственному расположению.

nn.LogSoftmax

Применяет функцию log⁡(Softmax(x))\log(\text{Softmax}(x)) к n-мерному тензору входных данных.

nn.AdaptiveLogSoftmaxWithLoss

Эффективное приближение softmax, как описано в Efficient softmax approximation for GPUs by Edouard Grave, Armand Joulin, Moustapha Cissé, David Grangier, and Hervé Jégou.

Слой нормализации

nn.BatchNorm1d

Применяет Batch Normalization к 2D или 3D входным данным, как описано в статье Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift.

nn.BatchNorm2d

Применяет Batch Normalization к 4D входным данным (минимальная партия 2D входов с дополнительным каналом) как описано в статье Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift.

nn.BatchNorm3d

Применяет Batch Normalization к 5D входным данным (минимальная партия 3D входов с дополнительным каналом) как описано в статье Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift.

nn.LazyBatchNorm1d

Модуль torch.nn.BatchNorm1d с ленивой инициализацией аргумента num_features модуля BatchNorm1d, который определяется по input.size(1).

nn.LazyBatchNorm2d

Модуль torch.nn.BatchNorm2d с ленивой инициализацией аргумента num_features модуля BatchNorm2d, который определяется по input.size(1).

nn.LazyBatchNorm3d

Модуль torch.nn.BatchNorm3d с ленивой инициализацией аргумента num_features модуля BatchNorm3d, который определяется по input.size(1).

nn.GroupNorm

Применяет Group Normalization к мини-пачке входных данных, как описано в статье Group Normalization

nn.SyncBatchNorm

Применяет Batch Normalization к N-мерному входу (мини-пачке [N-2]-мерных входов с дополнительным каналом), как описано в статье Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift.

nn.InstanceNorm1d

Применяет Instance Normalization к 2D (незагруженному) или 3D (загруженному) входу, как описано в статье Instance Normalization: The Missing Ingredient for Fast Stylization.

nn.InstanceNorm2d

Применяет Instance Normalization к 4D входным данным (мини-пачка 2D входов с дополнительным каналом) как описано в статье Instance Normalization: The Missing Ingredient for Fast Stylization.

nn.InstanceNorm3d

Применяет Instance Normalization к 5D входным данным (мини-пачка 3D входов с дополнительным каналом) как описано в статье Instance Normalization: The Missing Ingredient for Fast Stylization.

nn.LazyInstanceNorm1d

Модуль torch.nn.InstanceNorm1d с ленивой инициализацией аргумента num_features модуля InstanceNorm1d, который определяется по input.size(1).

nn.LazyInstanceNorm2d

Модуль torch.nn.InstanceNorm2d с ленивой инициализацией аргумента num_features модуля InstanceNorm2d, который определяется по input.size(1).

nn.LazyInstanceNorm3d

Модуль torch.nn.InstanceNorm3d с ленивой инициализацией аргумента num_features модуля InstanceNorm3d, который определяется по input.size(1).

nn.LayerNorm

Применяет Layer Normalization к мини-пачке входных данных, как описано в статье Layer Normalization

nn.LocalResponseNorm

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

Рекуррентные слои

nn.RNNBase

Базовый класс для модулей RNN (RNN, LSTM, GRU).

nn.RNN

Применяет многослойный RNN Elman с нелинейностью tanh⁡\tanh или ReLU\text{ReLU} к последовательности входных данных.

nn.LSTM

Применяет многослойный рекуррентный модуль с долговременной краткосрочной памятью (LSTM) к последовательности входных данных.

nn.GRU

Применяет многослойный рекуррентный модуль GRU к последовательности входных данных.

nn.RNNCell

Ячейка RNN Elman с нелинейностью tanh или ReLU.

nn.LSTMCell

Ячейка с долговременной краткосрочной памятью (LSTM).

nn.GRUCell

Ячейка рекуррентного модуля GRU.

Слои Transformer

nn.Transformer

Модель Transformer.

nn.TransformerEncoder

TransformerEncoder — это стек из N кодирующих слоёв.

nn.TransformerDecoder

TransformerDecoder — это стек из N декодирующих слоёв.

nn.TransformerEncoderLayer

TransformerEncoderLayer состоит из блока самовнимания и блока прямого отображения.

nn.TransformerDecoderLayer

TransformerDecoderLayer состоит из блока самовнимания, блока многоголового внимания и блока прямого отображения.

Линейные слои

nn.Identity

Плейсхолдер-оператор тождества, не зависящий от аргументов.

nn.Linear

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

nn.Bilinear

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

nn.LazyLinear

Модуль torch.nn.Linear, где in_features определяется.

Слои Dropout

nn.Dropout

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

nn.Dropout1d

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

nn.Dropout2d

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

nn.Dropout3d

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

nn.AlphaDropout

Применяет Alpha Dropout к входным данным.

nn.FeatureAlphaDropout

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

Разреженные слои

nn.Embedding

Простая таблица поиска, которая хранит эмбеддинги фиксированного словаря и размера.

nn.EmbeddingBag

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

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

nn.CosineSimilarity

Возвращает косинусное сходство между x1x_1 и x2x_2, вычисленное по dim.

nn.PairwiseDistance

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

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

nn.L1Loss

Создает критерий, который измеряет среднюю абсолютную ошибку (MAE) между каждым элементом в входном xx и целевом yy.

nn.MSELoss

Создаёт критерий, который измеряет среднюю квадратическую ошибку (квадратную L2 норму) между каждым элементом в входном xx и целевом yy.

nn.CrossEntropyLoss

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

nn.CTCLoss

Потеря алгоритма связи временных классификаций.

nn.NLLLoss

Потеря отрицательного логарифма вероятности.

nn.PoissonNLLLoss

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

nn.GaussianNLLLoss

Потеря отрицательного логарифма вероятности для нормального распределения.

nn.KLDivLoss

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

nn.BCELoss

Создаёт критерий, который измеряет бинарную кросс-энтропию между целевым значением и вероятностями на входе:

nn.BCEWithLogitsLoss

Эта потеря объединяет Sigmoid слой и BCELoss в одном классе.

nn.MarginRankingLoss

Создаёт критерий, который измеряет потерю, заданную входными значениями x1x1, x2x2, двумя 1D мини-пачками или 0D Tensors, и меткой 1D мини-пачки или 0D Tensor yy (содержащей 1 или -1).

nn.HingeEmbeddingLoss

Измеряет потерю, заданную входным тензором xx и тензором меток yy (содержащим 1 или -1).

nn.MultiLabelMarginLoss

Создаёт критерий, который оптимизирует многоклассовую многоклассовую потерю Хинджа (потеря на основе отступа) между входом xx (2D мини-пачка Tensor) и выходом yy (который представляет собой 2D Tensor индексов целевых классов).

nn.HuberLoss

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

nn.SmoothL1Loss

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

nn.SoftMarginLoss

Создаёт критерий, который оптимизирует логистическую потерю бинарной классификации между входным тензором xx и целевым тензором yy (содержащим 1 или -1).

nn.MultiLabelSoftMarginLoss

Создаёт критерий, который оптимизирует потерю одного против всех для многозначных меток на основе максимальной энтропии между входом xx и целевым значением yy размера (N,C)(N, C).

nn.CosineEmbeddingLoss

Создаёт критерий, который измеряет потерю, заданную входными тензорами x1x_1, x2x_2 и меткой Tensor yy со значениями 1 или -1.

nn.MultiMarginLoss

Создаёт критерий, который оптимизирует многоклассовую классификационную потерю Хинджа (потеря на основе отступа) между входом xx (2D мини-пачка Tensor) и выходом yy (который представляет собой 1D тензор индексов целевых классов, 0≤y≤x.size(1)−10 \leq y \leq \text{x.size}(1)-1):

nn.TripletMarginLoss

Создаёт критерий, который измеряет потерю триплета, заданного входными тензорами x1x1, x2x2, x3x3 и отступом со значением больше 00.

nn.TripletMarginWithDistanceLoss

Создаёт критерий, который измеряет потерю триплета, заданного входными тензорами aa, pp и nn (соответственно, якорь, позитивный и негативный примеры) и неотрицательной действительной функцией ("функция расстояния"), используемой для вычисления отношения между якорем и позитивным примером ("позитивное расстояние") и якорем и негативным примером ("негативное расстояние").

Слои Vision

nn.PixelShuffle

Переупорядочивает элементы в тензоре формы (∗,C×r2,H,W)(*, C \times r^2, H, W) в тензор формы (∗,C,H×r,W×r)(*, C, H \times r, W \times r), где r – коэффициент увеличения.

nn.PixelUnshuffle

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

nn.Upsample

Увеличивает масштаб заданных многоканальных данных 1D (временных), 2D (пространственных) или 3D (объёмных).

nn.UpsamplingNearest2d

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

nn.UpsamplingBilinear2d

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

Слои Shuffle

nn.ChannelShuffle

Делит каналы в тензоре формы (∗,C,H,W)(*, C , H, W) на g групп и переупорядочивает их как (∗,Cg,g,H,W)(*, C \frac g, g, H, W), сохраняя исходную форму тензора.

Слои DataParallel (много-GPU, распределённые)

nn.DataParallel

Реализует параллельность данных на уровне модуля.

nn.parallel.DistributedDataParallel

Реализует распределённую параллельность данных, основанную на пакете torch.distributed на уровне модуля.

Утилиты

Из модуля torch.nn.utils

clip_grad_norm_

Обрезает норму градиента для итерируемого списка параметров.

clip_grad_value_

Обрезает градиент итерируемого списка параметров до заданного значения.

parameters_to_vector

Преобразует параметры в один вектор

vector_to_parameters

Преобразует один вектор в параметры

prune.BasePruningMethod

Абстрактный базовый класс для создания новых методов обрезки.

END_OF_DOCUMENT_MARKER

prune.PruningContainer

Контейнер, содержащий последовательность методов обрезки для итеративной обрезки.

prune.Identity

Утилитарный метод обрезки, который не обрезает единицы, но генерирует параметризацию обрезки с маской из единиц.

prune.RandomUnstructured

Случайным образом обрезает (в настоящее время не обрезанные) единицы в тензоре.

prune.L1Unstructured

Обрезает (в настоящее время не обрезанные) единицы в тензоре, обнуляя единицы с наименьшей нормой L1.

prune.RandomStructured

Случайным образом обрезает целые (в настоящее время не обрезанные) каналы в тензоре.

prune.LnStructured

Обрезает целые (в настоящее время не обрезанные) каналы в тензоре на основе их Ln-нормы.

prune.CustomFromMask

prune.identity

Применяет параметризацию обрезки к тензору, соответствующему параметру под названием name в module, не производя фактической обрезки единиц.

prune.random_unstructured

Обрезает тензор, соответствующий параметру под названием name в module, удаляя указанную amount часть (в настоящее время не обрезанных) единиц, выбранных случайным образом.

prune.l1_unstructured

Обрезает тензор, соответствующий параметру под названием name в module, удаляя указанную amount часть (в настоящее время не обрезанных) единиц с наименьшей нормой L1.

prune.random_structured

Обрезает тензор, соответствующий параметру под названием name в module, удаляя указанную amount часть (в настоящее время не обрезанных) каналов вдоль указанного dim , выбранных случайным образом.

prune.ln_structured

Обрезает тензор, соответствующий параметру под названием name в module, удаляя указанную amount часть (в настоящее время не обрезанных) каналов вдоль указанного dim с наименьшей Ln-нормой.

prune.global_unstructured

Глобально обрезает тензоры, соответствующие всем параметрам в parameters, применяя указанную pruning_method.

prune.custom_from_mask

Обрезает тензор, соответствующий параметру под названием name в module, применяя предварительно вычисленную маску в mask.

prune.remove

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

prune.is_pruned

Проверяет, является ли module обрезанным, проверяя наличие forward_pre_hooks в его модулях, которые наследуют от BasePruningMethod.

weight_norm

Применяет нормирование весов к параметру в заданном модуле.

remove_weight_norm

Удаляет параметризацию нормирования весов из модуля.

spectral_norm

Применяет спектральное нормирование к параметру в заданном модуле.

remove_spectral_norm

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

skip_init

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

Параметризации реализованы с помощью новой функциональности параметризации в torch.nn.utils.parameterize.register_parametrization().

parametrizations.orthogonal

Применяет ортогональную или унитарную параметризацию к матрице или набору матриц.

parametrizations.spectral_norm

Применяет спектральное нормирование к параметру в заданном модуле.

Утилитарные функции для параметризации тензоров в существующих модулях. Обратите внимание, что эти функции могут использоваться для параметризации заданного параметра или буфера, используя определенную функцию, отображающую пространство входных данных в параметризованное пространство. Это не параметризации, которые преобразуют объект в параметр. Для получения дополнительной информации о том, как реализовать собственные параметризации, см. учебник по параметризациям.

parametrize.register_parametrization

Добавляет параметризацию к тензору в модуле.

parametrize.remove_parametrizations

Удаляет параметризации тензора в модуле.

parametrize.cached

Контекстный менеджер, который включает систему кэширования внутри параметризаций, зарегистрированных с register_parametrization().

parametrize.is_parametrized

Возвращает True, если модуль имеет активную параметризацию.

parametrize.ParametrizationList

Последовательный контейнер, который хранит и управляет original или original0, original1, .

Утилитарные функции для вызова данного модуля в бессостоятельном режиме.

stateless.functional_call

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

Утилитарные функции в других модулях

nn.utils.rnn.PackedSequence

Содержит данные и список batch_sizes упакованной последовательности.

nn.utils.rnn.pack_padded_sequence

Упаковывает тензор, содержащий заполненные последовательности переменной длины.

nn.utils.rnn.pad_packed_sequence

Заполняет упакованную партию последовательностей переменной длины.

nn.utils.rnn.pad_sequence

Заполняет список тензоров переменной длины с помощью padding_value

nn.utils.rnn.pack_sequence

Упаковывает список тензоров переменной длины

nn.utils.rnn.unpack_sequence

Распаковывает PackedSequence в список тензоров переменной длины

nn.utils.rnn.unpad_sequence

Распаковывает заполненный тензор в список тензоров переменной длины

nn.Flatten

Разворачивает непрерывный диапазон измерений в тензор.

nn.Unflatten

Разворачивает тензор, расширяя его до нужной формы.

Квантованные функции

Квантование относится к методам вычислений и хранения тензоров с меньшим числом бит, чем с плавающей точкой. PyTorch поддерживает как квантование по тензору, так и по каналу с асимметричным линейным квантованием. Чтобы узнать больше о том, как использовать квантованные функции в PyTorch, обратитесь к документации по квантованию.

Инициализация ленивых модулей

nn.modules.lazy.LazyModuleMixin

Mixin для модулей, которые лениво инициализируют параметры, также известные как «ленивые модули».

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

Spec-Zone.ru

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