
    ^j	                     h    d dl Z d dlmZ d dlmZ dedeeef   fdZd
dee   dz  fdZ	ed	        Z
y)    N)contextmanager)Anytensor_namereturnc                 ^    d|v r&|j                  dd      \  }}| j                  |      } | |fS )N.   )rsplitget_submodule)moduler   module_names      s/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/quantizers/quantizers_utils.pyget_module_from_namer      s<    
k#.#5#5c1#= [%%k2;    patternsc                 8     |yt         fd|D              }| S )NTc              3      K   | ]I  }t        j                  | d       xs* t        j                  |       xs j                  |       K yw)z\.N)rematchendswith).0key	full_names     r   	<genexpr>z(should_convert_module.<locals>.<genexpr>&   sP       	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              #     K   ddl m}  |       rddl}t        | |j                        r| j
                  } n!t        | t              r|j                  |       } t        | dd      }|dk(  r*|j                  j                  |       5  d 	 ddd       y|dk(  r6t        |d      r*|j                  j                  |       5  d 	 ddd       yd y# 1 sw Y   IxY w# 1 sw Y   xY ww)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      +fell+]]F$\\&)Fffd3& ""6*   %GE5$9!!&)   
  s6   BC,C5C, C C,CC, C)%C,)N)r   
contextlibr   typingr   r)   tupler   listr   r-    r   r   <module>r3      sT    
 % c eCHo "tCy4/? "& 
 
r   