U
    h=                     @   s    d dl mZ G dd deZdS )   )QDQOperatorBasec                       s$   e Zd Z fddZdd Z  ZS )QDQInstanceNormalizationc                    s   t  || d S )N)super__init__)selfZonnx_quantizerZ	onnx_node	__class__ O/tmp/pip-unpacked-wheel-socb9apf/onnxruntime/quantization/operators/instnorm.pyr   
   s    z!QDQInstanceNormalization.__init__c                 C   s   | j }|jdkst| j|jd  | js>| j|jd  | j r`| jj	|jd dd n| j
|jd  | j|jd |jd |jd  d S )NZInstanceNormalization    r   )Zaxis   )nodeZop_typeAssertionErrorZ	quantizerZquantize_activation_tensorinputZdisable_qdq_for_node_outputoutputZis_per_channelZ"quantize_weight_tensor_per_channelZquantize_weight_tensorZquantize_bias_tensor)r   r   r	   r	   r
   quantize   s    
z!QDQInstanceNormalization.quantize)__name__
__module____qualname__r   r   __classcell__r	   r	   r   r
   r   	   s   r   N)Zqdq_base_operatorr   r   r	   r	   r	   r
   <module>   s   