Files
mlx/docs/build/doctrees/python/nn/layers.doctree

132 lines
33 KiB
Plaintext
Raw Normal View History

2024-01-17 17:15:29 -08:00
<EFBFBD><05>S<EFBFBD><00>sphinx.addnodes<65><73>document<6E><74><EFBFBD>)<29><>}<7D>(<28> rawsource<63><65><00><>children<65>]<5D>(<28>docutils.nodes<65><73>target<65><74><EFBFBD>)<29><>}<7D>(h<05> .. _layers:<3A>h]<5D><>
attributes<EFBFBD>}<7D>(<28>ids<64>]<5D><>classes<65>]<5D><>names<65>]<5D><>dupnames<65>]<5D><>backrefs<66>]<5D><>refid<69><64>layers<72>u<EFBFBD>tagname<6D>h
<EFBFBD>line<6E>K<01>parent<6E>h<03> _document<6E>h<03>source<63><65>9/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst<73>ubh <09>section<6F><6E><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09>title<6C><65><EFBFBD>)<29><>}<7D>(h<05>Layers<72>h]<5D>h <09>Text<78><74><EFBFBD><EFBFBD>Layers<72><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(h h+h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhh)h h&h!hh"h#hKubh<00>tabular_col_spec<65><63><EFBFBD>)<29><>}<7D>(hhh]<5D>h}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>spec<65><63>\X{1}{2}\X{1}{2}<7D>uhh;h h&h!hh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hNub<75>sphinx.ext.autosummary<72><79>autosummary_table<6C><65><EFBFBD>)<29><>}<7D>(hX
ALiBi()
BatchNorm(num_features[, eps, momentum, ...])
Applies Batch Normalization over a 2D or 3D input.
Conv1d(in_channels, out_channels, kernel_size)
Applies a 1-dimensional convolution over the multi-channel input sequence.
Conv2d(in_channels, out_channels, kernel_size)
Applies a 2-dimensional convolution over the multi-channel input image.
Dropout([p])
Randomly zero a portion of the elements during training.
Dropout2d([p])
Apply 2D channel-wise dropout during training.
Dropout3d([p])
Apply 3D channel-wise dropout during training.
Embedding(num_embeddings, dims)
Implements a simple lookup table that maps each input integer to a high-dimensional vector.
GELU([approx])
Applies the Gaussian Error Linear Units.
GroupNorm(num_groups, dims[, eps, affine, ...])
Applies Group Normalization [1] to the inputs.
InstanceNorm(dims[, eps, affine])
Applies instance normalization [1] on the inputs.
LayerNorm(dims[, eps, affine])
Applies layer normalization [1] on the inputs.
Linear(input_dims, output_dims[, bias])
Applies an affine transformation to the input.
Mish()
Applies the Mish function, element-wise.
MultiHeadAttention(dims, num_heads[, ...])
Implements the scaled dot product attention with multiple heads.
PReLU([num_parameters, init])
Applies the element-wise parametric ReLU.
QuantizedLinear(input_dims, output_dims[, ...])
Applies an affine transformation to the input using a quantized weight matrix.
RMSNorm(dims[, eps])
Applies Root Mean Square normalization [1] to the inputs.
ReLU()
Applies the Rectified Linear Unit.
RoPE(dims[, traditional, base, scale])
Implements the rotary positional encoding.
SELU()
Applies the Scaled Exponential Linear Unit.
Sequential(*modules)
A layer that calls the passed callables in order.
SiLU()
Applies the Sigmoid Linear Unit.
SinusoidalPositionalEncoding(dims[, ...])
Implements sinusoidal positional encoding.
Step([threshold])
Applies the Step Activation Function.
Transformer(dims, num_heads, ...)
Implements a standard Transformer model.<2E>h]<5D>h <09>table<6C><65><EFBFBD>)<29><>}<7D>(hhh]<5D>h <09>tgroup<75><70><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09>colspec<65><63><EFBFBD>)<29><>}<7D>(hhh]<5D>h}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>colwidth<74>K
uhhZh hWubh[)<29><>}<7D>(hhh]<5D>h}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>colwidth<74>KZuhhZh hWubh <09>tbody<64><79><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09>row<6F><77><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09>entry<72><79><EFBFBD>)<29><>}<7D>(hhh]<5D>h <09> paragraph<70><68><EFBFBD>)<29><>}<7D>(h<05>$:py:obj:`ALiBi <mlx.nn.ALiBi>`\ \(\)<29>h]<5D>(h<00> pending_xref<65><66><EFBFBD>)<29><>}<7D>(h<05>:py:obj:`ALiBi <mlx.nn.ALiBi>`<60>h]<5D>h <09>literal<61><6C><EFBFBD>)<29><>}<7D>(hh<>h]<5D>h0<68>ALiBi<42><69><EFBFBD><EFBFBD><EFBFBD>}<7D>(h h<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(<28>xref<65><66>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h h<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F><63>python/nn/layers<72><73> refdomain<69>h<EFBFBD><68>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E><EFBFBD> py:module<6C><65>mlx.nn<6E><6E>py:class<73>N<EFBFBD> reftarget<65><74> mlx.nn.ALiBi<42>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh h<>ubh0<68>()<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h h<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"h<>hKh h|ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh hwubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(hhh]<5D>h}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh h<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh hwubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>T:py:obj:`BatchNorm <mlx.nn.BatchNorm>`\ \(num\_features\[\, eps\, momentum\, ...\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>&:py:obj:`BatchNorm <mlx.nn.BatchNorm>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hh<>h]<5D>h0<68> BatchNorm<72><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(h h<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h h<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>h<EFBFBD><68>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.BatchNorm<72>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh h<>ubh0<68>$(num_features[, eps, momentum, ...])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h h<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"jhKh h<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh h<>ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>2Applies Batch Normalization over a 2D or 3D input.<2E>h]<5D>h0<68>2Applies Batch Normalization over a 2D or 3D input.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jh!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh jubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh h<>ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>Q:py:obj:`Conv1d <mlx.nn.Conv1d>`\ \(in\_channels\, out\_channels\, kernel\_size\)<29>h]<5D>(h<>)<29><>}<7D>(h<05> :py:obj:`Conv1d <mlx.nn.Conv1d>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj=h]<5D>h0<68>Conv1d<31><64><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j?h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j;ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>jI<00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68> mlx.nn.Conv1d<31>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j7ubh0<68>((in_channels, out_channels, kernel_size)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j7h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j[hKh j4ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j1ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>JApplies a 1-dimensional convolution over the multi-channel input sequence.<2E>h]<5D>h0<68>JApplies a 1-dimensional convolution over the multi-channel input sequence.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h joh!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh jlubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j1ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>Q:py:obj:`Conv2d <mlx.nn.Conv2d>`\ \(in\_channels\, out\_channels\, kernel\_size\)<29>h]<5D>(h<>)<29><>}<7D>(h<05> :py:obj:`Conv2d <mlx.nn.Conv2d>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj<>h]<5D>h0<68>Conv2d<32><64><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68> mlx.nn.Conv2d<32>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68>((in_channels, out_channels, kernel_size)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j<>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>GApplies a 2-dimensional convolution over the multi-channel input image.<2E>h]<5D>h0<68>GApplies a 2-dimensional convolution over the multi-channel input image.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubeh}<7D>(h]<5D>h]<5D>h
([approx])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jMh!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"jqhKh jJubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jGubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>(Applies the Gaussian Error Linear Units.<2E>h]<5D>h0<68>(Applies the Gaussian Error Linear Units.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jGubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>W:py:obj:`GroupNorm <mlx.nn.GroupNorm>`\ \(num\_groups\, dims\[\, eps\, affine\, ...\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>&:py:obj:`GroupNorm <mlx.nn.GroupNorm>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj<>h]<5D>h0<68> GroupNorm<72><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.GroupNorm<72>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68>&(num_groups, dims[, eps, affine, ...])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j<>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>.Applies Group Normalization [1] to the inputs.<2E>h]<5D>h0<68>.Applies Group Normalization [1] to the inputs.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>I:py:obj:`InstanceNorm <mlx.nn.InstanceNorm>`\ \(dims\[\, eps\, affine\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>,:py:obj:`InstanceNorm <mlx.nn.InstanceNorm>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hjh]<5D>h0<68> InstanceNorm<72><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jh!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h jubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.InstanceNorm<72>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68>(dims[, eps, affine])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j#hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>1Applies instance normalization [1] on the inputs.<2E>h]<5D>h0<68>1Applies instance normalization [1] on the inputs.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j7h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j4ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>C:py:obj:`LayerNorm <mlx.nn.LayerNorm>`\ \(dims\[\, eps\, affine\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>&:py:obj:`LayerNorm <mlx.nn.LayerNorm>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj^h]<5D>h0<68> LayerNorm<72><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j`h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j\ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>jj<00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.LayerNorm<72>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh jXubh0<68>(dims[, eps, affine])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jXh!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j|hKh jUubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jRubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>.Applies layer normalization [1] on the inputs.<2E>h]<5D>h0<68>.Applies layer normalization [1] on the inputs.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jRubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>K:py:obj:`Linear <mlx.nn.Linear>`\ \(input\_dims\, output\_dims\[\, bias\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05> :py:obj:`Linear <mlx.nn.Linear>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj<>h]<5D>h0<68>Linear<61><72><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68> mlx.nn.Linear<61>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68>!(input_dims, output_d
ubh0<68>()<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j
h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j.hKh jubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>(Applies the Mish function, element-wise.<2E>h]<5D>h0<68>(Applies the Mish function, element-wise.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jBh!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j?ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>Y:py:obj:`MultiHeadAttention <mlx.nn.MultiHeadAttention>`\ \(dims\, num\_heads\[\, ...\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>8:py:obj:`MultiHeadAttention <mlx.nn.MultiHeadAttention>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hjih]<5D>h0<68>MultiHeadAttention<6F><6E><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jkh!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h jgubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>ju<00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.MultiHeadAttention<6F>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh jcubh0<68>(dims, num_heads[, ...])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jch!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j<>hKh j`ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j]ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>@Implements the scaled dot product attention with multiple heads.<2E>h]<5D>h0<68>@Implements the scaled dot product attention with multiple heads.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j]ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>>:py:obj:`PReLU <mlx.nn.PReLU>`\ \(\[num\_parameters\, init\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>:py:obj:`PReLU <mlx.nn.PReLU>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj<>h]<5D>h0<68>PReLU<4C><55><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68> mlx.nn.PReLU<4C>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68>([num_parameters, init])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j<>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>)Applies the element-wise parametric ReLU.<2E>h]<5D>h0<68>)Applies the element-wise parametric ReLU.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>\:py:obj:`QuantizedLinear <mlx.nn.QuantizedLinear>`\ \(input\_dims\, output\_dims\[\, ...\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>2:py:obj:`QuantizedLinear <mlx.nn.QuantizedLinear>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hjh]<5D>h0<68>QuantizedLinear<61><72><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jh!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h jubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j'<00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.QuantizedLinear<61>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh jubh0<68> (input_dims, output_dims[, ...])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jh!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j9hKh jubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>NApplies an affine transformation to the input using a quantized weight matrix.<2E>h]<5D>h0<68>NApplies an affine transformation to the input using a quantized weight matrix.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jMh!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh jJubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh jubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>6:py:obj:`RMSNorm <mlx.nn.RMSNorm>`\ \(dims\[\, eps\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>":py:obj:`RMSNorm <mlx.nn.RMSNorm>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hjth]<5D>h0<68>RMSNorm<72><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jvh!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h jrubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.RMSNorm<72>uhh<>h"<22>J/Users/awnihannun/re
Sequential<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.Sequential<61>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68>
(*modules)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j<>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>1A layer that calls the passed callables in order.<2E>h]<5D>h0<68>1A layer that calls the passed callables in order.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j
h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh jubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>":py:obj:`SiLU <mlx.nn.SiLU>`\ \(\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>:py:obj:`SiLU <mlx.nn.SiLU>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj1h]<5D>h0<68>SiLU<4C><55><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j3h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j/ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j=<00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68> mlx.nn.SiLU<4C>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j+ubh0<68>()<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j+h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"jOhKh j(ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j%ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05> Applies the Sigmoid Linear Unit.<2E>h]<5D>h0<68> Applies the Sigmoid Linear Unit.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jch!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j`ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j%ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>`:py:obj:`SinusoidalPositionalEncoding <mlx.nn.SinusoidalPositionalEncoding>`\ \(dims\[\, ...\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>L:py:obj:`SinusoidalPositionalEncoding <mlx.nn.SinusoidalPositionalEncoding>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj<>h]<5D>h0<68>SinusoidalPositionalEncoding<6E><67><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>#mlx.nn.SinusoidalPositionalEncoding<6E>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68> (dims[, ...])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j<>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j~ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>*Implements sinusoidal positional encoding.<2E>h]<5D>h0<68>*Implements sinusoidal positional encoding.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j~ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>/:py:obj:`Step <mlx.nn.Step>`\ \(\[threshold\]\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>:py:obj:`Step <mlx.nn.Step>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj<>h]<5D>h0<68>Step<65><70><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>j<EFBFBD><00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68> mlx.nn.Step<65>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j<>ubh0<68> ([threshold])<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"j hKh j<>ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>%Applies the Step Activation Function.<2E>h]<5D>h0<68>%Applies the Step Activation Function.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j<>ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhuh hrubhv)<29><>}<7D>(hhh]<5D>(h{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>G:py:obj:`Transformer <mlx.nn.Transformer>`\ \(dims\, num\_heads\, ...\)<29>h]<5D>(h<>)<29><>}<7D>(h<05>*:py:obj:`Transformer <mlx.nn.Transformer>`<60>h]<5D>h<EFBFBD>)<29><>}<7D>(hj< h]<5D>h0<68> Transformer<65><72><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j> h!hh"NhNubah}<7D>(h]<5D>h]<5D>(h<><68>py<70><79>py-obj<62>eh]<5D>h]<5D>h]<5D>uhh<>h j: ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>refdoc<6F>h<EFBFBD><68> refdomain<69>jH <00>reftype<70><65>obj<62><6A> refexplicit<69><74><EFBFBD>refwarn<72><6E>h<EFBFBD>h<EFBFBD>h<EFBFBD>Nh<4E><68>mlx.nn.Transformer<65>uhh<>h"<22>J/Users/awnihannun/repos/mlx/docs/src/python/nn/layers.rst:37:<autosummary><3E>hKh j6 ubh0<68>(dims, num_heads, ...)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j6 h!hh"NhNubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"jZ hKh j3 ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j0 ubh{)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>(Implements a standard Transformer model.<2E>h]<5D>h0<68>(Implements a standard Transformer model.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h jn h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh"hHhKh jk ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhzh j0 ubeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uh
rawentries<EFBFBD>]<5D>uhj<> h j<> ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>j<EFBFBD> j<> uhj<> h h&h!hh"hHhNubeh}<7D>(h]<5D>(h<1D>id1<64>eh]<5D>h]<5D><>layers<72>ah]<5D><>layers<72>ah]<5D>uhh$h hh!hh"h#hK<06>
referenced<EFBFBD>K<01>expect_referenced_by_name<6D>}<7D>j<EFBFBD> h s<>expect_referenced_by_id<69>}<7D>hh subeh}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>source<63>h#uhh<01>current_source<63>N<EFBFBD> current_line<6E>N<EFBFBD>settings<67><73>docutils.frontend<6E><64>Values<65><73><EFBFBD>)<29><>}<7D>(h)N<> generator<6F>N<EFBFBD> datestamp<6D>N<EFBFBD> source_link<6E>N<EFBFBD>
source_url<EFBFBD>N<EFBFBD> toc_backlinks<6B>hz<68>footnote_backlinks<6B>K<01> sectnum_xform<72>K<01>strip_comments<74>N<EFBFBD>strip_elements_with_classes<65>N<EFBFBD> strip_classes<65>N<EFBFBD> report_level<65>K<02>
halt_level<EFBFBD>K<05>exit_status_level<65>K<05>debug<75>N<EFBFBD>warning_stream<61>N<EFBFBD> traceback<63><6B><EFBFBD>input_encoding<6E><67> utf-8-sig<69><67>input_encoding_error_handler<65><72>strict<63><74>output_encoding<6E><67>utf-8<><38>output_encoding_error_handler<65>j'
<00>error_encoding<6E><67>utf-8<><38>error_encoding_error_handler<65><72>backslashreplace<63><65> language_code<64><65>en<65><6E>record_dependencies<65>N<EFBFBD>config<69>N<EFBFBD> id_prefix<69>h<06>auto_id_prefix<69><78>id<69><64> dump_settings<67>N<EFBFBD>dump_internals<6C>N<EFBFBD>dump_transforms<6D>N<EFBFBD>dump_pseudo_xml<6D>N<EFBFBD>expose_internals<6C>N<EFBFBD>strict_visitor<6F>N<EFBFBD>_disable_config<69>N<EFBFBD>_source<63>h#<23> _destination<6F>N<EFBFBD> _config_files<65>]<5D><>file_insertion_enabled<65><64><EFBFBD> raw_enabled<65>K<01>line_length_limit<69>M'<27>pep_references<65>N<EFBFBD> pep_base_url<72><6C>https://peps.python.org/<2F><>pep_file_url_template<74><65>pep-%04d<34><64>rfc_references<65>N<EFBFBD> rfc_base_url<72><6C>&https://datatracker.ietf.org/doc/html/<2F><> tab_width<74>K<08>trim_footnote_reference_space<63><65><EFBFBD>syntax_highlight<68><74>long<6E><67> smart_quotes<65><73><EFBFBD>smartquotes_locales<65>]<5D><>character_level_inline_markup<75><70><EFBFBD>doctitle_xform<72><6D><EFBFBD> docinfo_xform<72>K<01>sectsubtitle_xform<72><6D><EFBFBD> image_loading<6E><67>link<6E><6B>embed_stylesheet<65><74><EFBFBD>cloak_email_addresses<65><73><EFBFBD>section_self_link<6E><6B><EFBFBD>env<6E>Nub<75>reporter<65>N<EFBFBD>indirect_targets<74>]<5D><>substitution_defs<66>}<7D><>substitution_names<65>}<7D><>refnames<65>}<7D><>refids<64>}<7D>h]<5D>h as<61>nameids<64>}<7D>j<EFBFBD> hs<> nametypes<65>}<7D>j<EFBFBD> <00>sh}<7D>(hh&j<> h&u<> footnote_refs<66>}<7D><> citation_refs<66>}<7D><> autofootnotes<65>]<5D><>autofootnote_refs<66>]<5D><>symbol_footnotes<65>]<5D><>symbol_footnote_refs<66>]<5D><> footnotes<65>]<5D><> citations<6E>]<5D><>autofootnote_start<72>K<01>symbol_footnote_start<72>K<00>
id_counter<EFBFBD><EFBFBD> collections<6E><73>Counter<65><72><EFBFBD>}<7D>j5
Ks<><73>R<EFBFBD><52>parse_messages<65>]<5D>h <09>system_message<67><65><EFBFBD>)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(h<05>)Duplicate implicit target name: "layers".<2E>h]<5D>h0<68>-Duplicate implicit target name: “layers”.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(h j<>
h!hh"NhNubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh j<>
ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>j<EFBFBD> a<>level<65>K<01>type<70><65>INFO<46><4F>source<63>h#<23>line<6E>Kuhj<>
h h&h!hh"h#hKuba<62>transform_messages<65>]<5D>j<EFBFBD>
)<29><>}<7D>(hhh]<5D>h<EFBFBD>)<29><>}<7D>(hhh]<5D>h0<68>,Hyperlink target "layers" is not referenced.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>h j<>
sbah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D>uhhh j<>
ubah}<7D>(h]<5D>h]<5D>h]<5D>h]<5D>h]<5D><>level<65>K<01>type<70>j<EFBFBD>
<00>source<63>h#<23>line<6E>Kuhj<>
uba<62> transformer<65>N<EFBFBD> include_log<6F>]<5D><>
decoration<EFBFBD>Nh!hub.