o
    2h                     @   s   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d d	lm
Z
 d d
lmZ d dlmZ d dlmZ d dlmZ eehZdd eD Zedd eD  eddd ZeddddZeddd ZdS )    N)keras_export)AbsMaxQuantizer)	Quantizer)abs_max_quantize)compute_float8_amax_history)compute_float8_scale)fake_quant_with_min_max_vars)	pack_int4)quantize_and_dequantize)unpack_int4)serialization_lib)to_snake_casec                 C   s   i | ]}|j |qS  )__name__.0clsr   r   X/var/www/html/chatgem/venv/lib/python3.10/site-packages/keras/src/quantizers/__init__.py
<dictcomp>   s    r   c                 C   s   i | ]}t |j|qS r   )r   r   r   r   r   r   r      s    zkeras.quantizers.serializec                 C   s
   t | S N)r   serialize_keras_object)initializerr   r   r   	serialize   s   
r   zkeras.quantizers.deserializec                 C   s   t j| t|dS )z/Return a Keras quantizer object via its config.)module_objectscustom_objects)r   deserialize_keras_objectALL_OBJECTS_DICT)configr   r   r   r   deserialize   s
   r   zkeras.quantizers.getc                 K   sh   | du rdS t | trt| }nt | trt| d}n| }t|r-t|r+||}|S t	d|  )z4Retrieve a Keras quantizer object via an identifier.Nz*Could not interpret quantizer identifier: )

isinstancedictr   strr   getcallableinspectisclass
ValueError)
identifierkwargsobjr   r   r   r"   &   s   



r"   r   )r$   keras.src.api_exportr   keras.src.quantizers.quantizersr   r   r   r   r   r   r	   r
   r   keras.src.savingr   keras.src.utils.namingr   ALL_OBJECTSr   updater   r   r"   r   r   r   r   <module>   s0    
	