Files
mlx/docs/build/doctrees/python/nn/_autosummary/mlx.nn.BatchNorm.doctree

60 lines
24 KiB
Plaintext
Raw Normal View History

2024-01-17 17:15:29 -08:00
<EFBFBD><05><>]<00>sphinx.addnodes<65><73>document<6E><74><EFBFBD>)<29><>}<7D>(<28> rawsource<63><65><00><>children<65>]<5D><>docutils.nodes<65><73>section<6F><6E><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09>title<6C><65><EFBFBD>)<29><>}<7D>(h<05>mlx.nn.BatchNorm<72>h]<5D>h <09>Text<78><74><EFBFBD><EFBFBD>mlx.nn.BatchNorm<72><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(<28>parent<6E>h<11> _document<6E>h<03>source<63>N<EFBFBD>line<6E>Nuba<62>
attributes<EFBFBD>}<7D>(<28>ids<64>]<5D><>classes<65>]<5D><>names<65>]<5D><>dupnames<65>]<5D><>backrefs<66>]<5D>u<EFBFBD>tagname<6D>hhh hhh<1D>P/Users/awnihannun/repos/mlx/docs/src/python/nn/_autosummary/mlx.nn.BatchNorm.rst<73>hKubh<00>index<65><78><EFBFBD>)<29><>}<7D>(hhh]<5D>h}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><>entries<65>]<5D>(<28>single<6C><65>BatchNorm (class in mlx.nn)<29><>mlx.nn.BatchNorm<72>hNt<4E>auh+h-hh hhh<1D>t/Users/awnihannun/repos/mlx/python/mlx/nn/layers/normalization.py:docstring of mlx.nn.layers.normalization.BatchNorm<72>hNubh<00>desc<73><63><EFBFBD>)<29><>}<7D>(hhh]<5D>(h<00>desc_signature<72><65><EFBFBD>)<29><>}<7D>(h<05>~BatchNorm(num_features: int, eps: float = 1e-05, momentum: float = 0.1, affine: bool = True, track_running_stats: bool = True)<29>h]<5D>(h<00>desc_annotation<6F><6E><EFBFBD>)<29><>}<7D>(h<05>2[<#text: 'class'>, <desc_sig_space: <#text: ' '>>]<5D>h]<5D>(h<16>class<73><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hhLhhhNhNubh<00>desc_sig_space<63><65><EFBFBD>)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hhVhhhNhNubah}<7D>(h!]<5D>h#]<5D><>w<>ah%]<5D>h']<5D>h)]<5D>uh+hThhLubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> xml:space<63><65>preserve<76>uh+hJhhFhhh<1D>t/Users/awnihannun/repos/mlx/python/mlx/nn/layers/normalization.py:docstring of mlx.nn.layers.normalization.BatchNorm<72>hNubh<00> desc_addname<6D><65><EFBFBD>)<29><>}<7D>(h<05>mlx.nn.<2E>h]<5D>h<16>mlx.nn.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hhphhhNhNubah}<7D>(h!]<5D>h#]<5D>(<28> sig-prename<6D><65> descclassname<6D>eh%]<5D>h']<5D>h)]<5D>hkhluh+hnhhFhhhhmhNubh<00> desc_name<6D><65><EFBFBD>)<29><>}<7D>(h<05> BatchNorm<72>h]<5D>h<16> BatchNorm<72><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(hh<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>(<28>sig-name<6D><65>descname<6D>eh%]<5D>h']<5D>h)]<5D>hkhluh+h<>hhFhhhhmhNubh<00>desc_parameterlist<73><74><EFBFBD>)<29><>}<7D>(h<05>snum_features: int, eps: float = 1e-05, momentum: float = 0.1, affine: bool = True, track_running_stats: bool = True<75>h]<5D>(h<00>desc_parameter<65><72><EFBFBD>)<29><>}<7D>(h<05>num_features: intint<6E>h]<5D>(h<00> desc_sig_name<6D><65><EFBFBD>)<29><>}<7D>(h<05> num_features<65>h]<5D>h<16> num_features<65><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hh<>hhhNhNubah}<7D>(h!]<5D>h#]<5D><>n<>ah%]<5D>h']<5D>h)]<5D>uh+h<>hh<>ubh<00>desc_sig_punctuation<6F><6E><EFBFBD>)<29><>}<7D>(h<05>:<3A>h]<5D>h<16>:<3A><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hh<>hhhNhNubah}<7D>(h!]<5D>h#]<5D><>p<>ah%]<5D>h']<5D>h)]<5D>uh+h<>hh<>ubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hh<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThh<>ubh<62>)<29><>}<7D>(h<05>intint<6E>h]<5D>h<00> pending_xref<65><66><EFBFBD>)<29><>}<7D>(hhh]<5D>(h<00>pending_xref_condition<6F><6E><EFBFBD>)<29><>}<7D>(h<05>int<6E>h]<5D>h<16>int<6E><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hh<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F><6E>resolved<65>uh+h<>hh<>ubh<62>)<29><>}<7D>(h<05>int<6E>h]<5D>h<16>int<6E><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hh<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F><6E>*<2A>uh+h<>hh<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69><6E>py<70><79>reftype<70><65>class<73><73> reftarget<65><74>int<6E><74> refspecific<69><63><EFBFBD> py:module<6C><65>mlx.nn<6E><6E>py:class<73>Nuh+h<>hh<>ubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hh<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>hkhluh+h<>hh<>ubh<62>)<29><>}<7D>(h<05>eps: floatfloat = 1e-05<30>h]<5D>(h<>)<29><>}<7D>(h<05>eps<70>h]<5D>h<16>eps<70><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hjubh<62>)<29><>}<7D>(h<05>:<3A>h]<5D>h<16>:<3A><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj'hhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hjubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj5hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThjubh<62>)<29><>}<7D>(h<05>
floatfloat<EFBFBD>h]<5D>h<EFBFBD>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjJhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjGubh<62>)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjYhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjGubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<00>reftype<70>j<00> reftarget<65><74>float<61><74> refspecific<69><63><EFBFBD> py:module<6C>j<00>py:class<73>Nuh+h<>hjCubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hjubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj{hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThjubh<00>desc_sig_operator<6F><72><EFBFBD>)<29><>}<7D>(h<05>=<3D>h]<5D>h<16>=<3D><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D><>o<>ah%]<5D>h']<5D>h)]<5D>uh+j<>hjubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThjubh <09>inline<6E><65><EFBFBD>)<29><>}<7D>(h<05>1e-05<30>h]<5D>h<16>1e-05<30><35><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D><> default_value<75>ah%]<5D>h']<5D>h)]<5D><>support_smartquotes<65><73>uh+j<>hjubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>hkhluh+h<>hh<>ubh<62>)<29><>}<7D>(h<05>momentum: floatfloat = 0.1<EFBFBD>h]<5D>(h<>)<29><>}<7D>(h<05>momentum<75>h]<5D>h<16>momentum<75><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>:<3A>h]<5D>h<16>:<3A><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hj<>ubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThj<>ubh<62>)<29><>}<7D>(h<05>
floatfloat<EFBFBD>h]<5D>h<EFBFBD>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<00>reftype<70>j<00> reftarget<65><74>float<61><74> refspecific<69><63><EFBFBD> py:module<6C>j<00>py:class<73>Nuh+h<>hj<>ubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hj<>ubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj&hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThj<>ubj<62>)<29><>}<7D>(h<05>=<3D>h]<5D>h<16>=<3D><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj4hhhNhNubah}<7D>(h!]<5D>h#]<5D>j<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+j<>hj<>ubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjBhhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThj<>ubj<62>)<29><>}<7D>(h<05>0.1<EFBFBD>h]<5D>h<16>0.1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjPhhhNhNubah}<7D>(h!]<5D>h#]<5D>j<EFBFBD>ah%]<5D>h']<5D>h)]<5D><>support_smartquotes<65><73>uh+j<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>hkhluh+h<>hh<>ubh<62>)<29><>}<7D>(h<05>affine: boolbool = True<75>h]<5D>(h<>)<29><>}<7D>(h<05>affine<6E>h]<5D>h<16>affine<6E><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjihhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hjeubh<62>)<29><>}<7D>(h<05>:<3A>h]<5D>h<16>:<3A><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjwhhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hjeubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThjeubh<62>)<29><>}<7D>(h<05>boolbool<6F>h]<5D>h<EFBFBD>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<00>reftype<70>j<00> reftarget<65><74>bool<6F><6C> refspecific<69><63><EFBFBD> py:module<6C>j<00>py:class<73>Nuh+h<>hj<>ubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hjeubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThjeubj<62>)<29><>}<7D>(h<05>=<3D>h]<5D>h<16>=<3D><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>j<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+j<>hjeubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThjeubj<62>)<29><>}<7D>(h<05>True<75>h]<5D>h<16>True<75><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>j<EFBFBD>ah%]<5D>h']<5D>h)]<5D><>support_smartquotes<65><73>uh+j<>hjeubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>hkhluh+h<>hh<>ubh<62>)<29><>}<7D>(h<05>$track_running_stats: boolbool = True<75>h]<5D>(h<>)<29><>}<7D>(h<05>track_running_stats<74>h]<5D>h<16>track_running_stats<74><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hj
ubh<62>)<29><>}<7D>(h<05>:<3A>h]<5D>h<16>:<3A><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hj
ubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj*hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThj
ubh<62>)<29><>}<7D>(h<05>boolbool<6F>h]<5D>h<EFBFBD>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj?hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<ubh<62>)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjNhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<00>reftype<70>j<00> reftarget<65><74>bool<6F><6C> refspecific<69><63><EFBFBD> py:module<6C>j<00>py:class<73>Nuh+h<>hj8ubah}<7D>(h!]<5D>h#]<5D>h<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+h<>hj
ubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjphhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThj
ubj<62>)<29><>}<7D>(h<05>=<3D>h]<5D>h<16>=<3D><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj~hhhNhNubah}<7D>(h!]<5D>h#]<5D>j<EFBFBD>ah%]<5D>h']<5D>h)]<5D>uh+j<>hj
ubhU)<29><>}<7D>(h<05> <20>h]<5D>h<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>haah%]<5D>h']<5D>h)]<5D>uh+hThj
ubj<62>)<29><>}<7D>(h<05>True<75>h]<5D>h<16>True<75><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>j<EFBFBD>ah%]<5D>h']<5D>h)]<5D><>support_smartquotes<65><73>uh+j<>hj
ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>hkhluh+h<>hh<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>hkhluh+h<>hhFhhhhmhNubeh}<7D>(h!]<5D>h<ah#]<5D>(<28>sig<69><67>
sig-object<63>eh%]<5D>h']<5D>h)]<5D><>module<6C><65>mlx.nn<6E>jh<06>fullname<6D>h<EFBFBD>uh+hDh<1D>t/Users/awnihannun/repos/mlx/python/mlx/nn/layers/normalization.py:docstring of mlx.nn.layers.normalization.BatchNorm<72>hKhhAhhubh<00> desc_content<6E><74><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09> paragraph<70><68><EFBFBD>)<29><>}<7D>(h<05>2Applies Batch Normalization over a 2D or 3D input.<2E>h]<5D>h<16>2Applies Batch Normalization over a 2D or 3D input.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hh>hKhj<>hhubj<62>)<29><>}<7D>(h<05>Computes<65>h]<5D>h<16>Computes<65><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hh>hKhj<>hhubh <09>
math_block<EFBFBD><EFBFBD><EFBFBD>)<29><>}<7D>(h<05>=y = \frac{x - E[x]}{\sqrt{Var[x]} + \epsilon} \gamma + \beta,<2C>h]<5D>h<16>=y = \frac{x - E[x]}{\sqrt{Var[x]} + \epsilon} \gamma + \beta,<2C><><EFBFBD><EFBFBD><EFBFBD>}<7D>hj<>sbah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><>docname<6D><65>'python/nn/_autosummary/mlx.nn.BatchNorm<72><6D>number<65>N<EFBFBD>label<65>N<EFBFBD>nowrap<61><70>hkhluh+j<>hh>hKhj<>hhubj<62>)<29><>}<7D>(h<05>xwhere :math:`\gamma` and :math:`\beta` are learned per feature dimension
parameters initialized at 1 and 0 respectively.<2E>h]<5D>(h<16>where <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubh <09>math<74><68><EFBFBD>)<29><>}<7D>(h<05>:math:`\gamma`<60>h]<5D>h<16>\gamma<6D><61><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jhj<>ubh<16> and <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubj)<29><>}<7D>(h<05> :math:`\beta`<60>h]<5D>h<16>\beta<74><61><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jhj<>ubh<16>R are learned per feature dimension
parameters initialized at 1 and 0 respectively.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hh>hK hj<>hhubj<62>)<29><>}<7D>(hX8The input shape is specified as ``NC`` or ``NLC``, where ``N`` is the
batch, ``C`` is the number of features or channels, and ``L`` is the
sequence length. The output has the same shape as the input. For
four-dimensional arrays, the shape is ``NHWC``, where ``H`` and ``W`` are
the height and width respectively.<2E>h]<5D>(h<16> The input shape is specified as <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubh <09>literal<61><6C><EFBFBD>)<29><>}<7D>(h<05>``NC``<60>h]<5D>h<16>NC<4E><43><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj7hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16> or <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubj6)<29><>}<7D>(h<05>``NLC``<60>h]<5D>h<16>NLC<4C><43><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjIhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16>, where <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubj6)<29><>}<7D>(h<05>``N``<60>h]<5D>h<16>N<><4E><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj[hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16> is the
batch, <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubj6)<29><>}<7D>(h<05>``C``<60>h]<5D>h<16>C<><43><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjmhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16>, is the number of features or channels, and <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubj6)<29><>}<7D>(h<05>``L``<60>h]<5D>h<16>L<><4C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16>o is the
sequence length. The output has the same shape as the input. For
four-dimensional arrays, the shape is <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubj6)<29><>}<7D>(h<05>``NHWC``<60>h]<5D>h<16>NHWC<57><43><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16>, where <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>hj-sbj6)<29><>}<7D>(h<05>``H``<60>h]<5D>h<16>H<><48><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16> and <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubj6)<29><>}<7D>(h<05>``W``<60>h]<5D>h<16>W<><57><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj-ubh<16>' are
the height and width respectively.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj-hhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hh>hK hj<>hhubj<62>)<29><>}<7D>(h<05><>For more information on Batch Normalization, see the original paper `Batch
Normalization: Accelerating Deep Network Training by Reducing Internal
Covariate Shift <https://arxiv.org/abs/1502.03167>`_.<2E>h]<5D>(h<16>DFor more information on Batch Normalization, see the original paper <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubh <09> reference<63><65><EFBFBD>)<29><>}<7D>(h<05><>`Batch
Normalization: Accelerating Deep Network Training by Reducing Internal
Covariate Shift <https://arxiv.org/abs/1502.03167>`_<>h]<5D>h<16>\Batch
Normalization: Accelerating Deep Network Training by Reducing Internal
Covariate Shift<66><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><>name<6D><65>\Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift<66><74>refuri<72><69> https://arxiv.org/abs/1502.03167<EFBFBD>uh+j<>hj<>ubh <09>target<65><74><EFBFBD>)<29><>}<7D>(h<05># <https://arxiv.org/abs/1502.03167><3E>h]<5D>h}<7D>(h!]<5D><>[batch-normalization-accelerating-deep-network-training-by-reducing-internal-covariate-shift<66>ah#]<5D>h%]<5D><>\batch normalization: accelerating deep network training by reducing internal covariate shift<66>ah']<5D>h)]<5D><>refuri<72>j<EFBFBD>uh+j<><00>
referenced<EFBFBD>Khj<>ubh<16>.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hh>hKhj<>hhubh <09>
field_list<EFBFBD><EFBFBD><EFBFBD>)<29><>}<7D>(hhh]<5D>h <09>field<6C><64><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09>
field_name<EFBFBD><EFBFBD><EFBFBD>)<29><>}<7D>(h<05>
Parameters<EFBFBD>h]<5D>h<16>
Parameters<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j hj
hh>hKubh <09>
field_body<EFBFBD><EFBFBD><EFBFBD>)<29><>}<7D>(hhh]<5D>h <09> bullet_list<73><74><EFBFBD>)<29><>}<7D>(hhh]<5D>(h <09> list_item<65><6D><EFBFBD>)<29><>}<7D>(hhh]<5D>j<EFBFBD>)<29><>}<7D>(h<05>Anum_features (intint) -- The feature dimension to normalize over.<2E>h]<5D>(h<00>literal_strong<6E><67><EFBFBD>)<29><>}<7D>(h<05> num_features<65>h]<5D>h<16> num_features<65><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj2hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j0hj,ubh<16> (<28><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj,hhhNhNubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>int<6E>h]<5D>h<00>literal_emphasis<69><73><EFBFBD>)<29><>}<7D>(h<05>int<6E>h]<5D>h<16>int<6E><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjMhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhjGubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjDubh<62>)<29><>}<7D>(h<05>int<6E>h]<5D>jL)<29><>}<7D>(h<05>int<6E>h]<5D>h<16>int<6E><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjfhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhjbubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjDubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69><6E>py<70><79> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>jh<00> refspecific<69><63><EFBFBD> py:module<6C>j<EFBFBD><00>py:class<73>h<EFBFBD>uh+h<>hj,ubh<16>)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj,hhhNhNubh<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj,hhhNhNubh<16>(The feature dimension to normalize over.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj,hhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hj)ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j'hj$ubj()<29><>}<7D>(hhh]<5D>j<EFBFBD>)<29><>}<7D>(h<05>geps (floatfloat, optionaloptional) -- A small additive constant for numerical
stability. Default: 1e-5.<2E>h]<5D>(j1)<29><>}<7D>(h<05>eps<70>h]<5D>h<16>eps<70><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j0hj<>ubh<16> (<28><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>float<61>h]<5D>jL)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>float<61>h]<5D>jL)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>j<EFBFBD>j<><00>j<EFBFBD>j<>j<>h<>uh+h<>hj<>ubjL)<29><>}<7D>(h<05>, <20>h]<5D>h<16>, <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj
ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjubh<62>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj'hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj#ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>j)j<><00>j<EFBFBD>j<>j<>h<>uh+h<>hj<>ubh<16>)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubh<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubh<16><A small additive constant for numerical
stability. Default: <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubj6)<29><>}<7D>(h<05>``1e-5``<60>h]<5D>h<16>1e-5<><35><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjRhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj<>hhhh>hNubh<16>.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j'hj$ubj()<29><>}<7D>(hhh]<5D>j<EFBFBD>)<29><>}<7D>(h<05>qmomentum (floatfloat, optionaloptional) -- The momentum for updating the running
mean and variance. Default: 0.1.<2E>h]<5D>(j1)<29><>}<7D>(h<05>momentum<75>h]<5D>h<16>momentum<75><6D><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjwhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j0hjsubh<16> (<28><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjshhhNhNubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>float<61>h]<5D>jL)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>float<61>h]<5D>jL)<29><>}<7D>(h<05>float<61>h]<5D>h<16>float<61><74><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>j<EFBFBD>j<><00>j<EFBFBD>j<>j<>h<>uh+h<>hjsubjL)<29><>}<7D>(h<05>, <20>h]<5D>h<16>, <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhjsubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>j<EFBFBD>j<><00>j<EFBFBD>j<>j<>h<>uh+h<>hjsubh<16>)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjshhhNhNubh<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjshhhNhNubh<16>BThe momentum for updating the running
mean and variance. Default: <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjshhhNhNubj6)<29><>}<7D>(h<05>``0.1``<60>h]<5D>h<16>0.1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj!hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hjshhhh>hNubh<16>.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjshhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hjpubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j'hj$ubj()<29><>}<7D>(hhh]<5D>j<EFBFBD>)<29><>}<7D>(h<05>}affine (boolbool, optionaloptional) -- If True, apply a learned affine
transformation after the normalization. Default: True.<2E>h]<5D>(j1)<29><>}<7D>(h<05>affine<6E>h]<5D>h<16>affine<6E><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjFhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j0hjBubh<16> (<28><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjBhhhNhNubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>bool<6F>h]<5D>jL)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj_hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj[ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjXubh<62>)<29><>}<7D>(h<05>bool<6F>h]<5D>jL)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjxhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhjtubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hjXubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>jzj<><00>j<EFBFBD>j<>j<>h<>uh+h<>hjBubjL)<29><>}<7D>(h<05>, <20>h]<5D>h<16>, <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhjBubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>j<EFBFBD>j<><00>j<EFBFBD>j<>j<>h<>uh+h<>hjBubh<16>)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjBhhhNhNubh<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjBhhhNhNubh<16>If <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjBhhhNhNubj6)<29><>}<7D>(h<05>``True``<60>h]<5D>h<16>True<75><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hjBhhhh>hNubh<16>J, apply a learned affine
transformation after the normalization. Default: <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjBhhhNhNubj6)<29><>}<7D>(h<05>``True``<60>h]<5D>h<16>True<75><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hjBhhhh>hNubh<16>.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjBhhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hj?ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j'hj$ubj()<29><>}<7D>(hhh]<5D>j<EFBFBD>)<29><>}<7D>(h<05>ptrack_running_stats (boolbool, optionaloptional) -- If True, track the
running mean and variance. Default: True.<2E>h]<5D>(j1)<29><>}<7D>(h<05>track_running_stats<74>h]<5D>h<16>track_running_stats<74><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj'hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j0hj#ubh<16> (<28><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj#hhhNhNubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>bool<6F>h]<5D>jL)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj@hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj9ubh<62>)<29><>}<7D>(h<05>bool<6F>h]<5D>jL)<29><>}<7D>(h<05>bool<6F>h]<5D>h<16>bool<6F><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjYhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhjUubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj9ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>j[j<><00>j<EFBFBD>j<>j<>h<>uh+h<>hj#ubjL)<29><>}<7D>(h<05>, <20>h]<5D>h<16>, <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hjxhhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj#ubh<62>)<29><>}<7D>(hhh]<5D>(h<>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubh<62>)<29><>}<7D>(h<05>optional<61>h]<5D>jL)<29><>}<7D>(h<05>optional<61>h]<5D>h<16>optional<61><6C><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jKhj<>ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> condition<6F>h<EFBFBD>uh+h<>hj<>ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><> refdomain<69>j<EFBFBD><00> refexplicit<69><74><EFBFBD>reftype<70>j<00> reftarget<65>j<EFBFBD>j<><00>j<EFBFBD>j<>j<>h<>uh+h<>hj#ubh<16>)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj#hhhNhNubh<16> <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj#hhhNhNubh<16>If <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj#hhhNhNubj6)<29><>}<7D>(h<05>``True``<60>h]<5D>h<16>True<75><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj#hhhh>hNubh<16>0, track the
running mean and variance. Default: <20><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj#hhhNhNubj6)<29><>}<7D>(h<05>``True``<60>h]<5D>h<16>True<75><65><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj<>hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j5hj#hhhh>hNubh<16>.<2E><><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj#hhhNhNubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hj ubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j'hj$ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j"hjubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jhj
ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jhjubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+jhj<>hhhh>hNubh <09>rubric<69><63><EFBFBD>)<29><>}<7D>(h<05>Examples<65>h]<5D>h<16>Examples<65><73><EFBFBD><EFBFBD><EFBFBD>}<7D>(hj hhhNhNubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j hj<>hhhh>hK&ubh <09> doctest_block<63><6B><EFBFBD>)<29><>}<7D>(h<05><>>>> import mlx.core as mx
>>> import mlx.nn as nn
>>> x = mx.random.normal((5, 4))
>>> bn = nn.BatchNorm(num_features=4, affine=True)
>>> output = bn(x)<29>h]<5D>h<16><>>>> import mlx.core as mx
>>> import mlx.nn as nn
>>> x = mx.random.normal((5, 4))
>>> bn = nn.BatchNorm(num_features=4, affine=True)
>>> output = bn(x)<29><><EFBFBD><EFBFBD><EFBFBD>}<7D>hj+ sbah}<7D>(h!]<5D>h#]<5D><>doctest<73>ah%]<5D>h']<5D>h)]<5D>hkhluh+j) hj<>hhhh>hK+ubeh}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D>uh+j<>hhAhhhhmhNubeh}<7D>(h!]<5D>h#]<5D>(j<><00>class<73>eh%]<5D>h']<5D>h)]<5D><>domain<69>j<EFBFBD><00>objtype<70>jC <00>desctype<70>jC <00>noindex<65><78>uh+h?hhhh hh>hNubeh}<7D>(h!]<5D><>mlx-nn-batchnorm<72>ah#]<5D>h%]<5D><>mlx.nn.batchnorm<72>ah']<5D>h)]<5D>uh+h
hhhhhh,hKubah}<7D>(h!]<5D>h#]<5D>h%]<5D>h']<5D>h)]<5D><>source<63>h,uh+h<01>current_source<63>N<EFBFBD> current_line<6E>N<EFBFBD>settings<67><73>docutils.frontend<6E><64>Values<65><73><EFBFBD>)<29><>}<7D>(hN<> generator<6F>N<EFBFBD> datestamp<6D>N<EFBFBD> source_link<6E>N<EFBFBD>
source_url<EFBFBD>N<EFBFBD> toc_backlinks<6B><73>entry<72><79>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>jv <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,<2C> _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><>nameids<64>}<7D>(jP jM j<>j<>u<> nametypes<65>}<7D>(jP <00>j<EFBFBD><00>uh!}<7D>(jM h h<hFj<46>j<>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><><EFBFBD>R<EFBFBD><52>parse_messages<65>]<5D><>transform_messages<65>]<5D><> transformer<65>N<EFBFBD> include_log<6F>]<5D><>
decoration<EFBFBD>Nhhub.