
    hI                     &    S SK Jr   " S S\5      rg)   )QDQOperatorBasec                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )QDQNormalization	   c                 $   > [         TU ]  X5        g )N)super__init__)selfonnx_quantizer	onnx_node	__class__s      a/var/www/fran/franai/venv/lib/python3.13/site-packages/onnxruntime/quantization/operators/norm.pyr	   QDQNormalization.__init__
   s    3    c                    U R                   nUR                  S;   d   eU R                  R                  UR                  S   5        U R                  R                  UR                  S   5      nU R                  R                  UR                  S   SUR                  S9u  p4U(       a(  U R                  R                  UR                  S   US9  OXU(       a)  U R                  R                  UR                  S   5        O(U R                  R                  UR                  S   5        [        UR                  5      S:  ac  UR                  S   (       aO  U R                  R                  UR                  UR                  S   UR                  S   UR                  S   5        U R                  (       d/  UR                   H  nU R                  R                  U5        M      g g )N>   BatchNormalizationLayerNormalizationInstanceNormalization    r   )default_axisop_type)axis   )noder   	quantizerquantize_activation_tensorinputis_input_a_initializeris_tensor_per_channel"quantize_weight_tensor_per_channelquantize_weight_tensorlenquantize_bias_tensornamedisable_qdq_for_node_outputoutput)r
   r   scale_is_initializerscale_is_per_channelscale_channel_axisoutput_names         r   quantizeQDQNormalization.quantize   sm   yy||dddd 	11$**Q-@  $~~DDTZZPQ]S37>>3W3WJJqM4<< 4X 4
0  NN==djjmRd=e!NN11$**Q-@NN55djjmD tzz?Q4::a=NN//		4::a=$**UV-Y]YcYcdeYfg //#{{99+F  + 0r    )__name__
__module____qualname____firstlineno__r	   r+   __static_attributes____classcell__)r   s   @r   r   r   	   s    4G Gr   r   N)qdq_base_operatorr   r   r-   r   r   <module>r5      s    /G Gr   