
    qi                     H    d dl mZ d dlmZ  e       rddlZ G d de      Zy)   )ConversionOps)is_torch_available    Nc                       e Zd Zd Z	 	 	 d	dej
                  dej                  j                  dz  dee	   dz  de	dz  de
e	ej
                  f   f
dZy)
QuarkDeserializec                     || _         y )N)hf_quantizer)selfr	   s     Q/opt/pipecat/venv/lib/python3.12/site-packages/transformers/integrations/quark.py__init__zQuarkDeserialize.__init__   s
    (    N
input_dictmodelmissing_keysfull_layer_namereturnc                 4   t        |j                               d   \  }}t        |t              r|d   n|}|j	                  dd      d   }|j	                  dd      d   }	|j                  dd      d   dz   |z   dz   dz   |	z   }
|j                  |       |
|iS )Nr   _   .
_quantizer)tupleitems
isinstancelistsplitrsplitdiscard)r
   r   r   r   r   kwargs
target_keyvalueparamquant_statesub_module_states              r   convertzQuarkDeserialize.convert   s     "*"2"2"45a8
E&ud3a  a(+ &&sA.r2
 +11#q9!<sBUJ\Y\__bmm 	_- %((r   )NNN)__name__
__module____qualname__r   torchTensornnModuler   strdictr&    r   r   r   r      ss    ) )-)-&*)LL) xx%) 3i$&	)
 t) 
c5<<	 )r   r   )core_model_loadingr   utilsr   r*   r   r0   r   r   <module>r3      s$     / & )} )r   