
    3j	                     n    S SK r S SKJr  S SKJr  S\S\\\4   4S jrS
S\\   S-  4S jjr	\S	 5       r
g)    N)contextmanager)Anytensor_namereturnc                 ^    SU;   a%  UR                  SS5      u  p!U R                  U5      n X4$ )N.   )rsplitget_submodule)moduler   module_names      b/home/wildlama/miniconda3/lib/python3.13/site-packages/transformers/quantizers/quantizers_utils.pyget_module_from_namer      s8    
k#.#5#5c1#= %%k2    patternsc                 D   ^  Uc  g[        U 4S jU 5       5      nU(       + $ )NTc              3      >#    U  HV  n[         R                  " U S 3T5      =(       d0    [         R                  " U T5      =(       d    TR                  U5      v   MX     g7f)z\.N)rematchendswith).0key	full_names     r   	<genexpr>(should_convert_module.<locals>.<genexpr>&   sO      C 	C5i(dBHHuy,IdYM_M_`cMdds   AA!)any)r   r   should_not_converts   `  r   should_convert_moduler      s1        "!!r   c              #     #    SSK Jn  U" 5       (       a  SSKn[        XR                  5      (       a  U R
                  n O&[        U [        5      (       a  UR                  U 5      n [        U SS5      nUS:X  a*  UR                  R                  U 5         Sv    SSS5        gUS:X  a;  [        US5      (       a*  UR                  R                  U 5         Sv    SSS5        gSv   g! , (       d  f       NT= f! , (       d  f       N$= f7f)zIAlign the current accelerator device with a tensor or device-like object.   )is_torch_availabler   Ntypecudaxpu)utilsr!   torch
isinstanceTensordevicestrgetattrr#   hasattrr$   )r)   r!   r&   device_types       r   	on_devicer.   -   s      +fll++]]F$$\\&)Fffd3& ""6* +* %GE5$9$9!!&) *) 
 +* *)s6   BDC);DC:D)
C73D:
DD)N)r   
contextlibr   typingr   r*   tupler   listr   r.    r   r   <module>r4      sT    
 % c eCHo "tCy4/? "& 
 
r   