o
    Ih2                      @   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mZmZ ddlmZmZ g d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e jdZee je je jd
Zee je je jd
ZdefddZdefddZ dd Z!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_ln_configs_get_rnn_op_configs_get_share_qparams_op_configs_get_tensor_info_op_configs)BackendConfigDTypeConfig)*get_test_only_legacy_native_backend_configdefault_op_quint8_dtype_configdefault_op_fp16_dtype_config!default_dynamic_int8_dtype_config$default_dynamic_float16_dtype_config%input_output_only_quint8_dtype_configweight_only_quint8_dtype_config!weight_only_quint4x2_dtype_configget_native_backend_configget_native_backend_config_dict/get_test_only_legacy_native_backend_config_dict)input_dtypeoutput_dtypeweight_dtype
bias_dtype)r   r   T)r   r   r   r   
is_dynamic)r   r   r   returnc            
      C   s   t g} t tttg}ttg}tg}ttg}ttg}tg}ttg}ttg}tg}	td	t
| 	t|	t|t|	t|	t|	t|	t|	t|	t|		t|	t|S )zr
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) with various additional fp16 ops.
    _native_and_fp16)weighted_op_quint8_dtype_configr   r   r   r   r   r   r   r   set_backend_pattern_configsr   r
   r   set_backend_pattern_configr   r   r	   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tensor_info_op_dtype_configsrnn_op_dtype_configsembedding_op_dtype_configslayer_norm_op_dtype_configs r1   _/var/www/vscode/kcb/lib/python3.10/site-packages/torch/ao/quantization/backend_config/native.pyr   l   s^   







r   c            
      C   s   t g} t ttg}tg}tg}tg}tg}tg}ttg}ttg}tg}	tdt	| t
|t|t|t|t|t|t|t|t|	t|t|S )zQ
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack).
    native)r#   r   r   r   r   r   r   r   r$   r   r
   r   r%   r   r   r	   r   r   r   r   r   r   r&   r1   r1   r2   r      sN   







r   c                   C   
   t   S )zd
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) in dictionary form.
    )r   to_dictr1   r1   r1   r2   r      s   
r   c                   C   r4   )z
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) with various additional
    fp16 ops in dictionary form.
    )r   r5   r1   r1   r1   r2   r      s   
r   )#torch_common_operator_config_utilsr   r   r   r   r   r   r	   r
   r   r   r   r   backend_configr   r   __all__quint8qint8floatr#   r   float16r   r   r   r   r   quint4x2r   r   r   r   r   r1   r1   r1   r2   <module>   sl   8=2