o
    Ih                     @   s>  d dl Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZ ddlmZmZmZ dgZee je je je jdZee je jdZee je je je jdZee je je je jdd	Zee je je je jdd	Zee je je jd
Zee je je jd
Zee jddZee jddddZeeeee jdZeeedZ defddZ!dS )    N   )
_get_binary_op_configs_get_bn_configs_get_cat_config_get_conv_configs_get_default_op_configs_get_embedding_op_configs_get_fixed_qparams_op_configs_get_linear_configs_get_rnn_op_configs_get_share_qparams_op_configs)BackendConfigDTypeConfigDTypeWithConstraintsget_qnnpack_backend_config)input_dtypeoutput_dtypeweight_dtype
bias_dtype)r   r   T)r   r   r   r   
is_dynamic)r   r   r   g      0?)dtypescale_min_lower_boundi   )r   quant_min_lower_boundquant_max_upper_boundr   returnc                  C   s   t tg} t tttg}ttg}ttg}ttg}ttg}ttg}ttg}td	t
| 	t|	t|t|	t|	t|	t|	t|	t|	t|S )zJ
    Return the `BackendConfig` for PyTorch's native QNNPACK backend.
    qnnpack)0qnnpack_weighted_op_qint8_symmetric_dtype_config'qnnpack_weighted_op_quint8_dtype_config)qnnpack_default_dynamic_int8_dtype_config,qnnpack_default_dynamic_float16_dtype_config/qnnpack_default_op_qint8_symmetric_dtype_config&qnnpack_default_op_quint8_dtype_config'qnnpack_weight_only_quint8_dtype_config)qnnpack_weight_only_quint4x2_dtype_configr   set_backend_pattern_configsr   r
   r   set_backend_pattern_configr   r   r	   r   r   r   r   )conv_dtype_configslinear_dtype_configsbinary_op_dtype_configsdefault_op_dtype_configsfixed_qparams_op_dtype_configsshare_qparams_op_dtype_configsrnn_op_dtype_configsembedding_op_dtype_configs r/   `/var/www/vscode/kcb/lib/python3.10/site-packages/torch/ao/quantization/backend_config/qnnpack.pyr   s   sX   






)"torch_common_operator_config_utilsr   r   r   r   r   r   r	   r
   r   r   backend_configr   r   r   __all__quint8qint8floatr   r"   float16$qnnpack_default_op_fp16_dtype_configr   r    r#   quint4x2r$   $qnnpack_act_qint8_scale_min_2_neg_126qnnpack_weight_qint8_neg_127_to_127_scale_min_2_neg_12r   r!   r   r/   r/   r/   r0   <module>   s    0