
     NgP
                     Z    d dl Z d dlZ ddlmZmZmZmZmZ ddlm	Z	  G d de	          Z
dS )    N   )TENSOR_NAME_QUANT_SUFFIXQuantizedValueQuantizedValueTypeattribute_to_kwarg	ms_domain   )QuantOperatorBasec                        e Zd Z fdZ xZS )QLinearSoftmaxc                 ~   | j         }| j        j        t          j        j        j        k    rd}d}nd}d}| j                            |j        d         ||          \  }}}}}| j        	                    |dg          \  }}	}
}|r| t                                                      S |j        d         t          z   }t          |j        d         |||t          j                  }|| j        j        |j        d         <   i }|j        D ]$}|                    t'          |                     %t(          |d<   | j        j        |d<   |j        r
|j        dz   nd}t          j        j        d|j        z   |d         |
d         |	d         ||g|g|fi |}|                    |           | j        xj        |z  c_        d S )	Ng      p?r   idomainopset_quant QLinear)node	quantizeractivation_qTypeonnxonnx_pbTensorProtoUINT8_get_quantization_paramsoutputquantize_activationsuperquantizer   r   r   Inputquantized_value_map	attributeupdater   r   opset_versionnamehelper	make_nodeop_typeappend	new_nodes)selfr   	out_scaleout_zero_point
data_foundoutput_scale_nameoutput_zp_name_quantized_input_namesinput_zero_point_namesinput_scale_namesnodesqlinear_output_namequantized_output_valuekwargsr!   qlinear_node_nameqnode	__class__s                     f/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnxruntime/quantization/operators/softmax.pyr   zQLinearSoftmax.quantize	   s    y>*dl.F.LLL!INN!I!N N33DKNI~^^	
 N..taS99	
!"  	&2:77##%%% #k!n/GG!/KN$"
 "
 >T*4;q>:  	9 	9IMM,Y778888$x.6w48IEDI002%$%a(!!$&q)! !!
 
 
 
 	U  E)  t    )__name__
__module____qualname__r   __classcell__)r:   s   @r;   r   r      sA        A A A A A A A A Ar<   r   )r   onnx.helperquant_utilsr   r   r   r   r   base_operatorr
   r    r<   r;   <module>rE      s         u u u u u u u u u u u u u u , , , , , ,B B B B B& B B B B Br<   