| .. role:: hidden |
| :class: hidden-section |
| |
| torch.nn |
| =================================== |
| .. automodule:: torch.nn |
| .. automodule:: torch.nn.modules |
| |
| These are the basic building blocks for graphs: |
| |
| .. contents:: torch.nn |
| :depth: 2 |
| :local: |
| :backlinks: top |
| |
| |
| .. currentmodule:: torch.nn |
| |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| ~parameter.Buffer |
| ~parameter.Parameter |
| ~parameter.UninitializedParameter |
| ~parameter.UninitializedBuffer |
| |
| Containers |
| ---------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| Module |
| Sequential |
| ModuleList |
| ModuleDict |
| ParameterList |
| ParameterDict |
| |
| Global Hooks For Module |
| |
| .. currentmodule:: torch.nn.modules.module |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| 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 |
| |
| .. currentmodule:: torch |
| |
| Convolution Layers |
| ---------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.Conv1d |
| nn.Conv2d |
| nn.Conv3d |
| nn.ConvTranspose1d |
| nn.ConvTranspose2d |
| nn.ConvTranspose3d |
| nn.LazyConv1d |
| nn.LazyConv2d |
| nn.LazyConv3d |
| nn.LazyConvTranspose1d |
| nn.LazyConvTranspose2d |
| nn.LazyConvTranspose3d |
| nn.Unfold |
| nn.Fold |
| |
| Pooling layers |
| ---------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.MaxPool1d |
| nn.MaxPool2d |
| nn.MaxPool3d |
| nn.MaxUnpool1d |
| nn.MaxUnpool2d |
| nn.MaxUnpool3d |
| nn.AvgPool1d |
| nn.AvgPool2d |
| nn.AvgPool3d |
| nn.FractionalMaxPool2d |
| nn.FractionalMaxPool3d |
| nn.LPPool1d |
| nn.LPPool2d |
| nn.LPPool3d |
| nn.AdaptiveMaxPool1d |
| nn.AdaptiveMaxPool2d |
| nn.AdaptiveMaxPool3d |
| nn.AdaptiveAvgPool1d |
| nn.AdaptiveAvgPool2d |
| nn.AdaptiveAvgPool3d |
| |
| Padding Layers |
| -------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| 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.CircularPad1d |
| nn.CircularPad2d |
| nn.CircularPad3d |
| |
| Non-linear Activations (weighted sum, nonlinearity) |
| --------------------------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.ELU |
| nn.Hardshrink |
| nn.Hardsigmoid |
| nn.Hardtanh |
| nn.Hardswish |
| nn.LeakyReLU |
| nn.LogSigmoid |
| nn.MultiheadAttention |
| nn.PReLU |
| nn.ReLU |
| nn.ReLU6 |
| nn.RReLU |
| nn.SELU |
| nn.CELU |
| nn.GELU |
| nn.Sigmoid |
| nn.SiLU |
| nn.Mish |
| nn.Softplus |
| nn.Softshrink |
| nn.Softsign |
| nn.Tanh |
| nn.Tanhshrink |
| nn.Threshold |
| nn.GLU |
| |
| Non-linear Activations (other) |
| ------------------------------ |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.Softmin |
| nn.Softmax |
| nn.Softmax2d |
| nn.LogSoftmax |
| nn.AdaptiveLogSoftmaxWithLoss |
| |
| Normalization Layers |
| ---------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.BatchNorm1d |
| nn.BatchNorm2d |
| nn.BatchNorm3d |
| nn.LazyBatchNorm1d |
| nn.LazyBatchNorm2d |
| nn.LazyBatchNorm3d |
| nn.GroupNorm |
| nn.SyncBatchNorm |
| nn.InstanceNorm1d |
| nn.InstanceNorm2d |
| nn.InstanceNorm3d |
| nn.LazyInstanceNorm1d |
| nn.LazyInstanceNorm2d |
| nn.LazyInstanceNorm3d |
| nn.LayerNorm |
| nn.LocalResponseNorm |
| nn.RMSNorm |
| |
| Recurrent Layers |
| ---------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.RNNBase |
| nn.RNN |
| nn.LSTM |
| nn.GRU |
| nn.RNNCell |
| nn.LSTMCell |
| nn.GRUCell |
| |
| Transformer Layers |
| ---------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.Transformer |
| nn.TransformerEncoder |
| nn.TransformerDecoder |
| nn.TransformerEncoderLayer |
| nn.TransformerDecoderLayer |
| |
| Linear Layers |
| ---------------------------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.Identity |
| nn.Linear |
| nn.Bilinear |
| nn.LazyLinear |
| |
| Dropout Layers |
| -------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.Dropout |
| nn.Dropout1d |
| nn.Dropout2d |
| nn.Dropout3d |
| nn.AlphaDropout |
| nn.FeatureAlphaDropout |
| |
| Sparse Layers |
| ------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.Embedding |
| nn.EmbeddingBag |
| |
| Distance Functions |
| ------------------ |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.CosineSimilarity |
| nn.PairwiseDistance |
| |
| Loss Functions |
| -------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.L1Loss |
| nn.MSELoss |
| nn.CrossEntropyLoss |
| nn.CTCLoss |
| nn.NLLLoss |
| nn.PoissonNLLLoss |
| nn.GaussianNLLLoss |
| nn.KLDivLoss |
| nn.BCELoss |
| nn.BCEWithLogitsLoss |
| nn.MarginRankingLoss |
| nn.HingeEmbeddingLoss |
| nn.MultiLabelMarginLoss |
| nn.HuberLoss |
| nn.SmoothL1Loss |
| nn.SoftMarginLoss |
| nn.MultiLabelSoftMarginLoss |
| nn.CosineEmbeddingLoss |
| nn.MultiMarginLoss |
| nn.TripletMarginLoss |
| nn.TripletMarginWithDistanceLoss |
| |
| Vision Layers |
| ---------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.PixelShuffle |
| nn.PixelUnshuffle |
| nn.Upsample |
| nn.UpsamplingNearest2d |
| nn.UpsamplingBilinear2d |
| |
| Shuffle Layers |
| ---------------- |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.ChannelShuffle |
| |
| DataParallel Layers (multi-GPU, distributed) |
| -------------------------------------------- |
| .. automodule:: torch.nn.parallel |
| .. currentmodule:: torch |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.DataParallel |
| nn.parallel.DistributedDataParallel |
| |
| Utilities |
| --------- |
| .. automodule:: torch.nn.utils |
| |
| From the ``torch.nn.utils`` module: |
| |
| Utility functions to clip parameter gradients. |
| |
| .. currentmodule:: torch.nn.utils |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| clip_grad_norm_ |
| clip_grad_norm |
| clip_grad_value_ |
| |
| Utility functions to flatten and unflatten Module parameters to and from a single vector. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| parameters_to_vector |
| vector_to_parameters |
| |
| Utility functions to fuse Modules with BatchNorm modules. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| fuse_conv_bn_eval |
| fuse_conv_bn_weights |
| fuse_linear_bn_eval |
| fuse_linear_bn_weights |
| |
| Utility functions to convert Module parameter memory formats. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| convert_conv2d_weight_memory_format |
| convert_conv3d_weight_memory_format |
| |
| Utility functions to apply and remove weight normalization from Module parameters. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| weight_norm |
| remove_weight_norm |
| spectral_norm |
| remove_spectral_norm |
| |
| Utility functions for initializing Module parameters. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| skip_init |
| |
| Utility classes and functions for pruning Module parameters. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| prune.BasePruningMethod |
| prune.PruningContainer |
| prune.Identity |
| prune.RandomUnstructured |
| prune.L1Unstructured |
| prune.RandomStructured |
| prune.LnStructured |
| prune.CustomFromMask |
| prune.identity |
| prune.random_unstructured |
| prune.l1_unstructured |
| prune.random_structured |
| prune.ln_structured |
| prune.global_unstructured |
| prune.custom_from_mask |
| prune.remove |
| prune.is_pruned |
| |
| Parametrizations implemented using the new parametrization functionality |
| in :func:`torch.nn.utils.parameterize.register_parametrization`. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| parametrizations.orthogonal |
| parametrizations.weight_norm |
| parametrizations.spectral_norm |
| |
| Utility functions to parametrize Tensors on existing Modules. |
| Note that these functions can be used to parametrize a given Parameter |
| or Buffer given a specific function that maps from an input space to the |
| parametrized space. They are not parameterizations that would transform |
| an object into a parameter. See the |
| `Parametrizations tutorial <https://pytorch.org/tutorials/intermediate/parametrizations.html>`_ |
| for more information on how to implement your own parametrizations. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| parametrize.register_parametrization |
| parametrize.remove_parametrizations |
| parametrize.cached |
| parametrize.is_parametrized |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| parametrize.ParametrizationList |
| |
| Utility functions to call a given Module in a stateless manner. |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| stateless.functional_call |
| |
| Utility functions in other modules |
| |
| .. currentmodule:: torch |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| |
| nn.utils.rnn.PackedSequence |
| nn.utils.rnn.pack_padded_sequence |
| nn.utils.rnn.pad_packed_sequence |
| nn.utils.rnn.pad_sequence |
| nn.utils.rnn.pack_sequence |
| nn.utils.rnn.unpack_sequence |
| nn.utils.rnn.unpad_sequence |
| |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.Flatten |
| nn.Unflatten |
| |
| Quantized Functions |
| -------------------- |
| |
| Quantization refers to techniques for performing computations and storing tensors at lower bitwidths than |
| floating point precision. PyTorch supports both per tensor and per channel asymmetric linear quantization. To learn more how to use quantized functions in PyTorch, please refer to the :ref:`quantization-doc` documentation. |
| |
| Lazy Modules Initialization |
| --------------------------- |
| |
| .. currentmodule:: torch |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.modules.lazy.LazyModuleMixin |
| |
| Aliases |
| _______ |
| |
| The following are aliases to their counterparts in ``torch.nn``: |
| |
| .. currentmodule:: torch |
| .. autosummary:: |
| :toctree: generated |
| :nosignatures: |
| :template: classtemplate.rst |
| |
| nn.modules.normalization.RMSNorm |
| |
| .. This module needs to be documented. Adding here in the meantime |
| .. for tracking purposes |
| .. py:module:: torch.nn.backends |
| .. py:module:: torch.nn.utils.stateless |
| .. py:module:: torch.nn.backends.thnn |
| .. py:module:: torch.nn.common_types |
| .. py:module:: torch.nn.cpp |
| .. py:module:: torch.nn.functional |
| .. py:module:: torch.nn.grad |
| .. py:module:: torch.nn.init |
| .. py:module:: torch.nn.modules.activation |
| .. py:module:: torch.nn.modules.adaptive |
| .. py:module:: torch.nn.modules.batchnorm |
| .. py:module:: torch.nn.modules.channelshuffle |
| .. py:module:: torch.nn.modules.container |
| .. py:module:: torch.nn.modules.conv |
| .. py:module:: torch.nn.modules.distance |
| .. py:module:: torch.nn.modules.dropout |
| .. py:module:: torch.nn.modules.flatten |
| .. py:module:: torch.nn.modules.fold |
| .. py:module:: torch.nn.modules.instancenorm |
| .. py:module:: torch.nn.modules.lazy |
| .. py:module:: torch.nn.modules.linear |
| .. py:module:: torch.nn.modules.loss |
| .. py:module:: torch.nn.modules.module |
| .. py:module:: torch.nn.modules.normalization |
| .. py:module:: torch.nn.modules.padding |
| .. py:module:: torch.nn.modules.pixelshuffle |
| .. py:module:: torch.nn.modules.pooling |
| .. py:module:: torch.nn.modules.rnn |
| .. py:module:: torch.nn.modules.sparse |
| .. py:module:: torch.nn.modules.transformer |
| .. py:module:: torch.nn.modules.upsampling |
| .. py:module:: torch.nn.modules.utils |
| .. py:module:: torch.nn.parallel.comm |
| .. py:module:: torch.nn.parallel.distributed |
| .. py:module:: torch.nn.parallel.parallel_apply |
| .. py:module:: torch.nn.parallel.replicate |
| .. py:module:: torch.nn.parallel.scatter_gather |
| .. py:module:: torch.nn.parameter |
| .. py:module:: torch.nn.utils.clip_grad |
| .. py:module:: torch.nn.utils.convert_parameters |
| .. py:module:: torch.nn.utils.fusion |
| .. py:module:: torch.nn.utils.init |
| .. py:module:: torch.nn.utils.memory_format |
| .. py:module:: torch.nn.utils.parametrizations |
| .. py:module:: torch.nn.utils.parametrize |
| .. py:module:: torch.nn.utils.prune |
| .. py:module:: torch.nn.utils.rnn |