These are the basic building blocks for graphs:
torch.nn
- Containers
- Convolution Layers
- Pooling layers
- Padding Layers
- Non-linear Activations (weighted sum, nonlinearity)
- Non-linear Activations (other)
- Normalization Layers
- Recurrent Layers
- Transformer Layers
- Linear Layers
- Dropout Layers
- Sparse Layers
- Distance Functions
- Loss Functions
- Vision Layers
- Shuffle Layers
- DataParallel Layers (multi-GPU, distributed)
- Utilities
- Quantized Functions
- Lazy Modules Initialization
.. currentmodule:: torch.nn
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
~parameter.Parameter
~parameter.UninitializedParameter
~parameter.UninitializedBuffer
.. 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
.. currentmodule:: torch
.. 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
.. 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.AdaptiveMaxPool1d
nn.AdaptiveMaxPool2d
nn.AdaptiveMaxPool3d
nn.AdaptiveAvgPool1d
nn.AdaptiveAvgPool2d
nn.AdaptiveAvgPool3d
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.ReflectionPad1d
nn.ReflectionPad2d
nn.ReplicationPad1d
nn.ReplicationPad2d
nn.ReplicationPad3d
nn.ZeroPad2d
nn.ConstantPad1d
nn.ConstantPad2d
nn.ConstantPad3d
.. 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
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.Softmin
nn.Softmax
nn.Softmax2d
nn.LogSoftmax
nn.AdaptiveLogSoftmaxWithLoss
.. 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.LayerNorm
nn.LocalResponseNorm
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.RNNBase
nn.RNN
nn.LSTM
nn.GRU
nn.RNNCell
nn.LSTMCell
nn.GRUCell
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.Transformer
nn.TransformerEncoder
nn.TransformerDecoder
nn.TransformerEncoderLayer
nn.TransformerDecoderLayer
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.Identity
nn.Linear
nn.Bilinear
nn.LazyLinear
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.Dropout
nn.Dropout2d
nn.Dropout3d
nn.AlphaDropout
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.Embedding
nn.EmbeddingBag
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.CosineSimilarity
nn.PairwiseDistance
.. 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
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.PixelShuffle
nn.PixelUnshuffle
nn.Upsample
nn.UpsamplingNearest2d
nn.UpsamplingBilinear2d
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.ChannelShuffle
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.DataParallel
nn.parallel.DistributedDataParallel
From the torch.nn.utils
module
.. currentmodule:: torch.nn.utils
.. autosummary::
:toctree: generated
:nosignatures:
clip_grad_norm_
clip_grad_value_
parameters_to_vector
vector_to_parameters
prune.BasePruningMethod
.. autosummary::
:toctree: generated
:nosignatures:
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
weight_norm
remove_weight_norm
spectral_norm
remove_spectral_norm
Parametrizations implemented using the new parametrization functionality in :func:`torch.nn.utils.parameterize.register_parametrization`.
.. autosummary::
:toctree: generated
:nosignatures:
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 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 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
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.Flatten
nn.Unflatten
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.
.. currentmodule:: torch
.. autosummary::
:toctree: generated
:nosignatures:
:template: classtemplate.rst
nn.modules.lazy.LazyModuleMixin