+
    ˜°³jT  ã                   óä   € ^ RI t ^ RIHu Ht ^ RIHt ^RIHtH	t	 . ROt
 ! R
 R]	4      t ! R R]4      t ! R R]]4      t ! R R]4      t ! R R]]4      t ! R R]4      t ! R R	]]4      tR# )é    N©ÚTensor)Ú_LazyNormBaseÚ	_NormBaseÚInstanceNorm1dÚInstanceNorm2dÚInstanceNorm3dÚLazyInstanceNorm1dÚLazyInstanceNorm2dÚLazyInstanceNorm3dc                   óŒ   a a€ ] tR t^t oRRR/V3R lV 3R lllltR tR tR tR tV3R	 lV 3R
 llt	V3R lR lt
RtVtV ;t# )Ú_InstanceNormÚbiasTc                óB   <€ V ^8„  d   QhRS[ RS[RS[RS[RS[RS[RR/# )	é   Únum_featuresÚepsÚmomentumÚaffineÚtrack_running_statsr   ÚreturnN)ÚintÚfloatÚbool)ÚformatÚ__classdict__s   "€Ú^/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/nn/modules/instancenorm.pyÚ__annotate__Ú_InstanceNorm.__annotate__   sQ   ø€ ÷ 
ñ 
áð
ñ ð
ñ ð	
ñ
 ð
ñ "ð
ñ ð
ð 
ñ
ó    c               óF   <€ R VRV/p	\         S
V `  ! VVVVV3/ V	BRV/B  R# )ÚdeviceÚdtyper   N)ÚsuperÚ__init__)Úselfr   r   r   r   r   r"   r#   r   Úfactory_kwargsÚ	__class__s   &&&&&&&&$ €r   r%   Ú_InstanceNorm.__init__   sC   ø€ ð # F¨G°UÐ;ˆÜ‰ÒØØØØØñ	
ð ñ	
ð õ	
r    c                ó   € \         h©N©ÚNotImplementedError©r&   Úinputs   &&r   Ú_check_input_dimÚ_InstanceNorm._check_input_dim-   ó   € Ü!Ð!r    c                ó   € \         hr+   r,   ©r&   s   &r   Ú_get_no_batch_dimÚ_InstanceNorm._get_no_batch_dim0   r2   r    c                ó`   € V P                  VP                  ^ 4      4      P                  ^ 4      # )r   )Ú_apply_instance_normÚ	unsqueezeÚsqueezer.   s   &&r   Ú_handle_no_batch_inputÚ$_InstanceNorm._handle_no_batch_input3   s'   € Ø×(Ñ(¨¯©¸Ó);Ó<×DÑDÀQÓGÐGr    c           
     ó8  € \         P                  ! TV P                  V P                  V P                  V P
                  V P                  ;'       g    V P                  '       * V P                  e   V P                  V P                  4      # RV P                  4      # )Ng        )
ÚFÚinstance_normÚrunning_meanÚrunning_varÚweightr   Útrainingr   r   r   r.   s   &&r   r8   Ú"_InstanceNorm._apply_instance_norm6   s|   € Ü�ŠØØ×ÑØ×ÑØ�K‰KØ�I‰IØ�M‰M×9Ð9 ×!9Ñ!9Ô9Ø!Ÿ]™]Ò6ˆD�M‰MØ�H‰Hó	
ð 		
ð =@Ø�H‰Hó	
ð 		
r    c                ó   <€ V ^8„  d   QhRR/# ©r   r   N© )r   r   s   "€r   r   r   B   s   ø€ ÷ ,
ñ ,
ð 
ñ,
r    c           	     óÆ  <€ VP                  R R4      pVfµ   V P                  '       g£   . p	R F$  p
W*,           pW±9   g   K  V	P                  V4       K&  	  \        V	4      ^ 8”  dg   VP                  RP	                  RP                  R V	 4       4      V P                  P                  R7      4       V	 F  pVP                  V4       K  	  \        SV `)  VVVVVVV4       R# )ÚversionNa¤  Unexpected running stats buffer(s) {names} for {klass} with track_running_stats=False. If state_dict is a checkpoint saved before 0.4.0, this may be expected because {klass} does not track running stats by default since 0.4.0. Please remove these keys from state_dict. If the running stats are actually needed, instead set track_running_stats=True in {klass} to enable them. See the documentation of {klass} for details.z and c              3   ó.   "  € T F  pR V R 2x € K  	  R# 5i)Ú"NrG   )Ú.0Úks   & r   Ú	<genexpr>Ú6_InstanceNorm._load_from_state_dict.<locals>.<genexpr>_   s   é € Ð*PÑ=O¸¨Q¨q¨c°­8Ó=Oùs   ‚)ÚnamesÚklass)r@   rA   )Úgetr   ÚappendÚlenr   Újoinr(   Ú__name__Úpopr$   Ú_load_from_state_dict)r&   Ú
state_dictÚprefixÚlocal_metadataÚstrictÚmissing_keysÚunexpected_keysÚ
error_msgsrI   Úrunning_stats_keysÚnameÚkeyr(   s   &&&&&&&&    €r   rX   Ú#_InstanceNorm._load_from_state_dictB   sê   ø€ ð !×$Ñ$ Y°Ó5ˆð Š? 4×#;×#;Ð#;Ø!#ÐÛ7�Ø•m�ØÖ$Ø&×-Ñ-¨cÖ2ñ 8ô Ð%Ó&¨Ô*Ø×!Ñ!ð@÷ AGÁØ%Ÿl™lÑ*PÑ=OÓ*PÓPØ"Ÿn™n×5Ñ5ð AGó Aôó .�CØ—N‘N 3Ö'ñ .ô 	‰Ñ%ØØØØØØØö	
r    c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   r/   r   r   )r   r   s   "€r   r   r   p   s   ø€ ÷ 0ñ 0™Vð 0©ñ 0r    c           
     óð  € V P                  V4       VP                  4       V P                  4       ,
          pVP                  V4      V P                  8w  d]   V P
                  '       d/   \        R V RV P                   RVP                  V4       R24      h\        P                  ! RV R2^R7       VP                  4       V P                  4       8X  d   V P                  V4      # V P                  V4      # )zexpected input's size at dim=z to match num_features (z), but got: Ú.zinput's size at dim=z� does not match num_features. You can silence this warning by not passing in num_features, which is not used because affine=False)Ú
stacklevel)r0   Údimr5   Úsizer   r   Ú
ValueErrorÚwarningsÚwarnr;   r8   )r&   r/   Úfeature_dims   && r   ÚforwardÚ_InstanceNorm.forwardp   sç   € Ø×Ñ˜eÔ$à—i‘i“k D×$:Ñ$:Ó$<Õ<ˆØ�:‰:�kÓ" d×&7Ñ&7Ô7Ø�{�{ˆ{Ü Ø3°K°=ð AØ×*Ñ*Ð+¨<¸¿
¹
À;Ó8OÐ7PÐPQðSóð ô
 —’Ø*¨;¨-ð 8=ð =ð  !õ	ð �9‰9‹;˜$×0Ñ0Ó2Ô2Ø×.Ñ.¨uÓ5Ð5à×(Ñ(¨Ó/Ð/r    rG   )gñhãˆµøä>gš™™™™™¹?FFNN)rV   Ú
__module__Ú__qualname__Ú__firstlineno__r%   r0   r5   r;   r8   rX   rn   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r(   r   s   @@r   r   r      sH   ù‡ € ñ
ð ÷
ö 
ò."ò"òHò

÷,
ó ,
÷\0÷ 0ð 0r    r   c                   óH   a € ] tR t^ˆt o RtV 3R lR ltV 3R lR ltRtV tR# )r   a§  Applies Instance Normalization.

This operation applies Instance Normalization
over a 2D (unbatched) or 3D (batched) input as described in the paper
`Instance Normalization: The Missing Ingredient for Fast Stylization
<https://arxiv.org/abs/1607.08022>`__.

.. math::

    y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta

The mean and standard-deviation are calculated per-dimension separately
for each object in a mini-batch. :math:`\gamma` and :math:`\beta` are learnable parameter vectors
of size `C` (where `C` is the number of features or channels of the input) if :attr:`affine` is ``True``.
The variance is calculated via the biased estimator, equivalent to
`torch.var(input, correction=0)`.

By default, this layer uses instance statistics computed from input data in
both training and evaluation modes.

If :attr:`track_running_stats` is set to ``True``, during training this
layer keeps running estimates of its computed mean and variance, which are
then used for normalization during evaluation. The running estimates are
kept with a default :attr:`momentum` of 0.1.

.. note::
    This :attr:`momentum` argument is different from one used in optimizer
    classes and the conventional notion of momentum. Mathematically, the
    update rule for running statistics here is
    :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times \hat{x} + \text{momentum} \times x_t`,
    where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the
    new observed value.

.. note::
    :class:`InstanceNorm1d` and :class:`LayerNorm` are very similar, but
    have some subtle differences. :class:`InstanceNorm1d` is applied
    on each channel of channeled data like multidimensional time series, but
    :class:`LayerNorm` is usually applied on entire sample and often in NLP
    tasks. Additionally, :class:`LayerNorm` applies elementwise affine
    transform, while :class:`InstanceNorm1d` usually doesn't apply affine
    transform.

Args:
    num_features: number of features or channels :math:`C` of the input
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    momentum: the value used for the running_mean and running_var computation. Default: 0.1
    affine: a boolean value that when set to ``True``, this module has
        learnable affine parameters, initialized the same way as done for batch normalization.
        Default: ``False``
    track_running_stats: a boolean value that when set to ``True``, this
        module tracks the running mean and variance, and when set to ``False``,
        this module does not track such statistics and always uses batch
        statistics in both training and eval modes. Default: ``False``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`affine` is ``True``). Default: ``True``

Shape:
    - Input: :math:`(N, C, L)` or :math:`(C, L)`
    - Output: :math:`(N, C, L)` or :math:`(C, L)` (same shape as input)

Examples::

    >>> # Without Learnable Parameters
    >>> m = nn.InstanceNorm1d(100)
    >>> # With Learnable Parameters
    >>> m = nn.InstanceNorm1d(100, affine=True)
    >>> input = torch.randn(20, 100, 40)
    >>> output = m(input)
c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©r   )r   r   s   "€r   r   ÚInstanceNorm1d.__annotate__Ï   ó   ø€ ÷ ñ ¡3ñ r    c                ó   € ^# ©r   rG   r4   s   &r   r5   Ú InstanceNorm1d._get_no_batch_dimÏ   ó   € Ùr    c                ó   <€ V ^8„  d   QhRR/# rF   rG   )r   r   s   "€r   r   rz   Ò   ó   ø€ ÷ Tñ T¨ñ Tr    c                ój   € VP                  4       R9  d   \        RVP                  4        R24      hR# ©r   zexpected 2D or 3D input (got úD input)N)r   é   ©rh   rj   r.   s   &&r   r0   ÚInstanceNorm1d._check_input_dimÒ   ó0   € Ø�9‰9‹;˜fÔ$ÜÐ<¸U¿Y¹Y»[¸MÈÐRÓSÐSñ %r    rG   N©	rV   rp   rq   rr   Ú__doc__r5   r0   rs   rt   ©r   s   @r   r   r   ˆ   s"   ø‡ € ñD÷Lð ÷Tö Tr    c                   óL   a € ] tR t^×t o Rt]tV 3R lR ltV 3R lR ltRt	V t
R# )r
   aÅ  A :class:`torch.nn.InstanceNorm1d` module with lazy initialization of the ``num_features`` argument.

The ``num_features`` argument of the :class:`InstanceNorm1d` is inferred from the ``input.size(1)``.
The attributes that will be lazily initialized are `weight`, `bias`, `running_mean` and `running_var`.

Check the :class:`torch.nn.modules.lazy.LazyModuleMixin` for further documentation
on lazy modules and their limitations.

Args:
    num_features: :math:`C` from an expected input of size
        :math:`(N, C, L)` or :math:`(C, L)`
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    momentum: the value used for the running_mean and running_var computation. Default: 0.1
    affine: a boolean value that when set to ``True``, this module has
        learnable affine parameters, initialized the same way as done for batch normalization.
        Default: ``False``
    track_running_stats: a boolean value that when set to ``True``, this
        module tracks the running mean and variance, and when set to ``False``,
        this module does not track such statistics and always uses batch
        statistics in both training and eval modes. Default: ``False``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`affine` is ``True``). Default: ``True``

Shape:
    - Input: :math:`(N, C, L)` or :math:`(C, L)`
    - Output: :math:`(N, C, L)` or :math:`(C, L)` (same shape as input)
c                ó    <€ V ^8„  d   QhRS[ /# rx   ry   )r   r   s   "€r   r   ÚLazyInstanceNorm1d.__annotate__ö   r{   r    c                ó   € ^# r}   rG   r4   s   &r   r5   Ú$LazyInstanceNorm1d._get_no_batch_dimö   r   r    c                ó   <€ V ^8„  d   QhRR/# rF   rG   )r   r   s   "€r   r   rŽ   ù   r�   r    c                ój   € VP                  4       R9  d   \        RVP                  4        R24      hR# rƒ   r†   r.   s   &&r   r0   Ú#LazyInstanceNorm1d._check_input_dimù   rˆ   r    rG   N)rV   rp   rq   rr   rŠ   r   Úcls_to_becomer5   r0   rs   rt   r‹   s   @r   r
   r
   ×   s'   ø‡ € ñð8 #€M÷ð ÷Tö Tr    c                   óH   a € ] tR t^þt o RtV 3R lR ltV 3R lR ltRtV tR# )r   aÕ  Applies Instance Normalization.

This operation applies Instance Normalization
over a 4D input (a mini-batch of 2D inputs
with additional channel dimension) as described in the paper
`Instance Normalization: The Missing Ingredient for Fast Stylization
<https://arxiv.org/abs/1607.08022>`__.

.. math::

    y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta

The mean and standard-deviation are calculated per-dimension separately
for each object in a mini-batch. :math:`\gamma` and :math:`\beta` are learnable parameter vectors
of size `C` (where `C` is the input size) if :attr:`affine` is ``True``.
The standard-deviation is calculated via the biased estimator, equivalent to
`torch.var(input, correction=0)`.

By default, this layer uses instance statistics computed from input data in
both training and evaluation modes.

If :attr:`track_running_stats` is set to ``True``, during training this
layer keeps running estimates of its computed mean and variance, which are
then used for normalization during evaluation. The running estimates are
kept with a default :attr:`momentum` of 0.1.

.. note::
    This :attr:`momentum` argument is different from one used in optimizer
    classes and the conventional notion of momentum. Mathematically, the
    update rule for running statistics here is
    :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times \hat{x} + \text{momentum} \times x_t`,
    where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the
    new observed value.

.. note::
    :class:`InstanceNorm2d` and :class:`LayerNorm` are very similar, but
    have some subtle differences. :class:`InstanceNorm2d` is applied
    on each channel of channeled data like RGB images, but
    :class:`LayerNorm` is usually applied on entire sample and often in NLP
    tasks. Additionally, :class:`LayerNorm` applies elementwise affine
    transform, while :class:`InstanceNorm2d` usually doesn't apply affine
    transform.

Args:
    num_features: :math:`C` from an expected input of size
        :math:`(N, C, H, W)` or :math:`(C, H, W)`
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    momentum: the value used for the running_mean and running_var computation. Default: 0.1
    affine: a boolean value that when set to ``True``, this module has
        learnable affine parameters, initialized the same way as done for batch normalization.
        Default: ``False``
    track_running_stats: a boolean value that when set to ``True``, this
        module tracks the running mean and variance, and when set to ``False``,
        this module does not track such statistics and always uses batch
        statistics in both training and eval modes. Default: ``False``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`affine` is ``True``). Default: ``True``

Shape:
    - Input: :math:`(N, C, H, W)` or :math:`(C, H, W)`
    - Output: :math:`(N, C, H, W)` or :math:`(C, H, W)` (same shape as input)

Examples::

    >>> # Without Learnable Parameters
    >>> m = nn.InstanceNorm2d(100)
    >>> # With Learnable Parameters
    >>> m = nn.InstanceNorm2d(100, affine=True)
    >>> input = torch.randn(20, 100, 35, 45)
    >>> output = m(input)
c                ó    <€ V ^8„  d   QhRS[ /# rx   ry   )r   r   s   "€r   r   ÚInstanceNorm2d.__annotate__G  r{   r    c                ó   € ^# ©r…   rG   r4   s   &r   r5   Ú InstanceNorm2d._get_no_batch_dimG  r   r    c                ó   <€ V ^8„  d   QhRR/# rF   rG   )r   r   s   "€r   r   r—   J  r�   r    c                ój   € VP                  4       R9  d   \        RVP                  4        R24      hR# ©r…   zexpected 3D or 4D input (got r„   N)r…   é   r†   r.   s   &&r   r0   ÚInstanceNorm2d._check_input_dimJ  rˆ   r    rG   Nr‰   r‹   s   @r   r   r   þ   s"   ø‡ € ñF÷Pð ÷Tö Tr    c                   óL   a € ] tR tRt o Rt]tV 3R lR ltV 3R lR ltRt	V t
R# )	r   iO  a×  A :class:`torch.nn.InstanceNorm2d` module with lazy initialization of the ``num_features`` argument.

The ``num_features`` argument of the :class:`InstanceNorm2d` is inferred from the ``input.size(1)``.
The attributes that will be lazily initialized are `weight`, `bias`,
`running_mean` and `running_var`.

Check the :class:`torch.nn.modules.lazy.LazyModuleMixin` for further documentation
on lazy modules and their limitations.

Args:
    num_features: :math:`C` from an expected input of size
        :math:`(N, C, H, W)` or :math:`(C, H, W)`
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    momentum: the value used for the running_mean and running_var computation. Default: 0.1
    affine: a boolean value that when set to ``True``, this module has
        learnable affine parameters, initialized the same way as done for batch normalization.
        Default: ``False``
    track_running_stats: a boolean value that when set to ``True``, this
        module tracks the running mean and variance, and when set to ``False``,
        this module does not track such statistics and always uses batch
        statistics in both training and eval modes. Default: ``False``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`affine` is ``True``). Default: ``True``

Shape:
    - Input: :math:`(N, C, H, W)` or :math:`(C, H, W)`
    - Output: :math:`(N, C, H, W)` or :math:`(C, H, W)` (same shape as input)
c                ó    <€ V ^8„  d   QhRS[ /# rx   ry   )r   r   s   "€r   r   ÚLazyInstanceNorm2d.__annotate__o  r{   r    c                ó   € ^# r™   rG   r4   s   &r   r5   Ú$LazyInstanceNorm2d._get_no_batch_dimo  r   r    c                ó   <€ V ^8„  d   QhRR/# rF   rG   )r   r   s   "€r   r   r¢   r  r�   r    c                ój   € VP                  4       R9  d   \        RVP                  4        R24      hR# r�   r†   r.   s   &&r   r0   Ú#LazyInstanceNorm2d._check_input_dimr  rˆ   r    rG   N)rV   rp   rq   rr   rŠ   r   r”   r5   r0   rs   rt   r‹   s   @r   r   r   O  ó'   ø‡ € ñð: #€M÷ð ÷Tö Tr    c                   óH   a € ] tR tRt o RtV 3R lR ltV 3R lR ltRtV tR# )	r	   iw  aõ  Applies Instance Normalization.

This operation applies Instance Normalization
over a 5D input (a mini-batch of 3D inputs with additional channel dimension) as described in the paper
`Instance Normalization: The Missing Ingredient for Fast Stylization
<https://arxiv.org/abs/1607.08022>`__.

.. math::

    y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}} * \gamma + \beta

The mean and standard-deviation are calculated per-dimension separately
for each object in a mini-batch. :math:`\gamma` and :math:`\beta` are learnable parameter vectors
of size C (where C is the input size) if :attr:`affine` is ``True``.
The standard-deviation is calculated via the biased estimator, equivalent to
`torch.var(input, correction=0)`.

By default, this layer uses instance statistics computed from input data in
both training and evaluation modes.

If :attr:`track_running_stats` is set to ``True``, during training this
layer keeps running estimates of its computed mean and variance, which are
then used for normalization during evaluation. The running estimates are
kept with a default :attr:`momentum` of 0.1.

.. note::
    This :attr:`momentum` argument is different from one used in optimizer
    classes and the conventional notion of momentum. Mathematically, the
    update rule for running statistics here is
    :math:`\hat{x}_\text{new} = (1 - \text{momentum}) \times \hat{x} + \text{momentum} \times x_t`,
    where :math:`\hat{x}` is the estimated statistic and :math:`x_t` is the
    new observed value.

.. note::
    :class:`InstanceNorm3d` and :class:`LayerNorm` are very similar, but
    have some subtle differences. :class:`InstanceNorm3d` is applied
    on each channel of channeled data like 3D models with RGB color, but
    :class:`LayerNorm` is usually applied on entire sample and often in NLP
    tasks. Additionally, :class:`LayerNorm` applies elementwise affine
    transform, while :class:`InstanceNorm3d` usually doesn't apply affine
    transform.

Args:
    num_features: :math:`C` from an expected input of size
        :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)`
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    momentum: the value used for the running_mean and running_var computation. Default: 0.1
    affine: a boolean value that when set to ``True``, this module has
        learnable affine parameters, initialized the same way as done for batch normalization.
        Default: ``False``
    track_running_stats: a boolean value that when set to ``True``, this
        module tracks the running mean and variance, and when set to ``False``,
        this module does not track such statistics and always uses batch
        statistics in both training and eval modes. Default: ``False``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`affine` is ``True``). Default: ``True``

Shape:
    - Input: :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)`
    - Output: :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)` (same shape as input)

Examples::

    >>> # Without Learnable Parameters
    >>> m = nn.InstanceNorm3d(100)
    >>> # With Learnable Parameters
    >>> m = nn.InstanceNorm3d(100, affine=True)
    >>> input = torch.randn(20, 100, 35, 45, 10)
    >>> output = m(input)
c                ó    <€ V ^8„  d   QhRS[ /# rx   ry   )r   r   s   "€r   r   ÚInstanceNorm3d.__annotate__¿  r{   r    c                ó   € ^# ©rž   rG   r4   s   &r   r5   Ú InstanceNorm3d._get_no_batch_dim¿  r   r    c                ó   <€ V ^8„  d   QhRR/# rF   rG   )r   r   s   "€r   r   r«   Â  r�   r    c                ój   € VP                  4       R9  d   \        RVP                  4        R24      hR# ©rž   zexpected 4D or 5D input (got r„   N)rž   é   r†   r.   s   &&r   r0   ÚInstanceNorm3d._check_input_dimÂ  rˆ   r    rG   Nr‰   r‹   s   @r   r	   r	   w  s"   ø‡ € ñE÷Nð ÷Tö Tr    c                   óL   a € ] tR tRt o Rt]tV 3R lR ltV 3R lR ltRt	V t
R# )	r   iÇ  aé  A :class:`torch.nn.InstanceNorm3d` module with lazy initialization of the ``num_features`` argument.

The ``num_features`` argument of the :class:`InstanceNorm3d` is inferred from the ``input.size(1)``.
The attributes that will be lazily initialized are `weight`, `bias`,
`running_mean` and `running_var`.

Check the :class:`torch.nn.modules.lazy.LazyModuleMixin` for further documentation
on lazy modules and their limitations.

Args:
    num_features: :math:`C` from an expected input of size
        :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)`
    eps: a value added to the denominator for numerical stability. Default: 1e-5
    momentum: the value used for the running_mean and running_var computation. Default: 0.1
    affine: a boolean value that when set to ``True``, this module has
        learnable affine parameters, initialized the same way as done for batch normalization.
        Default: ``False``
    track_running_stats: a boolean value that when set to ``True``, this
        module tracks the running mean and variance, and when set to ``False``,
        this module does not track such statistics and always uses batch
        statistics in both training and eval modes. Default: ``False``
    bias: If set to ``False``, the layer will not learn an additive bias (only relevant if
        :attr:`affine` is ``True``). Default: ``True``

Shape:
    - Input: :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)`
    - Output: :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)` (same shape as input)
c                ó    <€ V ^8„  d   QhRS[ /# rx   ry   )r   r   s   "€r   r   ÚLazyInstanceNorm3d.__annotate__ç  r{   r    c                ó   € ^# r­   rG   r4   s   &r   r5   Ú$LazyInstanceNorm3d._get_no_batch_dimç  r   r    c                ó   <€ V ^8„  d   QhRR/# rF   rG   )r   r   s   "€r   r   r¶   ê  r�   r    c                ój   € VP                  4       R9  d   \        RVP                  4        R24      hR# r±   r†   r.   s   &&r   r0   Ú#LazyInstanceNorm3d._check_input_dimê  rˆ   r    rG   N)rV   rp   rq   rr   rŠ   r	   r”   r5   r0   rs   rt   r‹   s   @r   r   r   Ç  r¨   r    )r   r   r	   r
   r   r   )rk   Útorch.nn.functionalÚnnÚ
functionalr>   Útorchr   Ú	batchnormr   r   Ú__all__r   r   r
   r   r   r	   r   rG   r    r   Ú<module>rÂ      s‘   ðó ç Ð Ý ç /ò€ôp0�Iô p0ôfLT�]ô LTô^$T˜¨ô $TôNNT�]ô NTôb%T˜¨ô %TôPMT�]ô MTô`%T˜¨ö %Tr    