
    h=
                         S SK Jr  S SKrS SKJr    SS\R                  S\R                  S\R                  S\S\S	\\R                  \R                  \R                  4   4S
 jjr	 " S S\5      r
g)    )TupleN)OpRunXWBaxisepsilonreturnc                    U R                   n[        U5      nUS:  a  X6-   nXc-
  nUSU SU-  -   nSn	Sn
[        U5       H  nX:  a	  XU   -  n	M  XU   -  n
M     [        R                  " X	U
45      n[        R
                  " USSS9U
-  nX-
  nX-  n[        R
                  " USSS9U
-  nUU-   n[        R                  " U5      n[        R                  " U5      nUU-  n[        R                  " UU5      U-  nUb  UU-   n[        R                  " X5      n[        R                  " UU5      nUR                  U R                  5      UR                  U R                  5      UR                  U R                  5      4$ )Nr   )   r   T)r   keepdims)
shapelenrangenpreshapesumsqrt
reciprocalastypedtype)r   r   r   r   r	   X_shapeX_rankunsqueezed_rankreduction_shape
row_number
col_numberix_matx_meanx_diffx_squared_diffvariancevariance_epsstd_devinv_std_devy_matYX_meanX_inv_std_devs                           c/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_layer_normalization.py_layer_normalizationr,      su    ggG\Fax }mOao(>>O JJ6]8!*$J!*$J	  JJqz23EVVED1J>F^F_Nvvn1t<zIHg%Lggl#G--(K[ E 	

5'"Q&A}E ZZ0FJJ{O<MHHQWWv}}QWW5}7K7KAGG7TUU    c                       \ rS rSrSS jrSrg)LayerNormalizationE   Nc                 F    US:w  a  [        SU S35      e[        XX4US9nU$ )Nr   z2LayerNormalization not implemented for stash_type=z != 1.)r   r	   )NotImplementedErrorr,   )selfr   Scaler   r   r	   
stash_typeress           r+   _runLayerNormalization._runF   s8    ?%DZLPVW  #1Q7K
r-    )NNNN)__name__
__module____qualname____firstlineno__r7   __static_attributes__r9   r-   r+   r/   r/   E   s    r-   r/   )gh㈵>)typingr   numpyr   onnx.reference.op_runr   ndarrayintfloatr,   r/   r9   r-   r+   <module>rF      s      ' 5V	zz5V	zz5V 
zz5V 	5V
 5V 2::rzz2::-.5Vp r-   