
    h                        S SK rS SKJr   SS\R                  S\R                  S\R                  S\R                  S\R                  S\S	\R                  4S
 jjr  SS\R                  S\R                  S\R                  S\R                  S\R                  S\S\S	\R                  4S jjr " S S\5      r " S S\5      r	 " S S\5      r
g)    N)OpRunxsbiasmeanvarepsilonreturnc                 P   [        U R                  5      nSUS-
  -  nUR                  " S/UQ76 nUR                  " S/UQ76 nUR                  " S/UQ76 nUR                  " S/UQ76 nXU-
  -  [        R                  " XE-   5      -  U-   nUR                  U R                  5      $ )N)      )lenshapereshapenpsqrtastypedtype)	r   r   r   r   r   r	   dims_xdim_onesys	            c/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_batch_normalization.py_batchnorm_test_moder      s     \Fvz"H			" x A<<&X&D<<&X&D
++b
$8
$C	X//$6A88AGG    momentumc           	         [        [        R                  " [        R                  " [	        U R
                  5      5      S5      5      nU R                  US9nU R                  US9n	X5-  USU-
  -  -   n
XE-  U	SU-
  -  -   n[        XX(XS9nUR                  U R                  5      UR                  U R                  5      U	R                  U R                  5      U
R                  U R                  5      UR                  U R                  5      4$ )Nr   axisr	   )tupler   deletearanger   r   r   r   r   r   r   )r   r   r   r   r   r   r	   r   
saved_mean	saved_varoutput_mean
output_varr   s                r   _batchnorm_training_moder(      s     299S\2A67DT"J4 I/J!h,$??K)q8|"<<JQ4YPA	!''"!177#!''" r   c                       \ rS rSrSS jrSrg)BatchNormalization_65   Nc
           
      J    U(       a  [        XX4XVS9n
U
4$ [        XX4XVUS9n
U
4$ )Nr    )r	   r   r   r(   )selfr   scaler   r   r   r	   is_testr   spatialress              r   _runBatchNormalization_6._run6   s:    &qSRC
 v +$cXC vr    )NNNN__name__
__module____qualname____firstlineno__r3   __static_attributes__r5   r   r   r*   r*   5   s    r   r*   c                       \ rS rSrSS jrSrg)BatchNormalization_9@   Nc           	      >   Uc  [        XX4XVS9nU4$ [        [        R                  " [        R                  " [        UR                  5      5      S5      5      n	UR                  U	S9n
UR                  U	S9nXG-  U
SU-
  -  -   nXW-  USU-
  -  -   n[        XX<XS9nU4$ )Nr    r   r   )	r   r!   r   r"   r#   r   r   r   r   )r.   r   r/   r   r   r   r	   r   r2   r   r$   r%   r&   r'   s                 r   r3   BatchNormalization_9._runA   s    &qSRC6MRYYryyQWW6:;VVV&
EEtE$	o
a(l(CC^i1x<&@@
"d
 vr   r5   )NNr6   r5   r   r   r=   r=   @   s    r   r=   c                        \ rS rSr SS jrSrg)BatchNormalization_14P   Nc	           	      V    US:X  a  [        XX4XVS9n	U	4$ [        XX4XWU5      u  ppnXU4$ )Nr   r    r-   )r.   r   r/   r   r   r   r	   r   training_moder2   ___r&   r'   s                 r   r3   BatchNormalization_14._runQ   sH     A&qSRC6M.Fd#/
+ ++r   r5   )NNNr6   r5   r   r   rB   rB   P   s
    TX	,r   rB   )h㈵>)g?rI   )numpyr   onnx.reference.op_runr   ndarrayfloatr   r(   r*   r=   rB   r5   r   r   <module>rN      s    ' 	zz	zz ** **	
 
  ZZ0 	zz	zz ** **	
 
   ZZ05 5  
,E 
,r   