o
    i$                     @   s0   d dl Z g dZg dZd	ddZd
ddZdS )    N)autocudacpumps)r   lmdeploytransformersr   c                 C   s\   | dkrt j rd} nt jj rd} nd} | tv s%J d|  dt td|   | S )Nr   r   r   r   zunrecognized device z, device must be in zUsing device )torchr   is_availablebackendsr   RECOGNIZED_DEVICESprint)device r   M/home/ubuntu/.local/lib/python3.10/site-packages/soprano/utils/auto_select.pyselect_device   s   
r   c                 C   sl   | dkr|dkrd} nzdd l }d} W n ty   d} Y nw | tv s-J d|  dt td|   | S )	Nr   r   r   r   r   zunrecognized backend z, backend must be in zUsing backend )r   ImportErrorRECOGNIZED_BACKENDSr   )backendr   r   r   r   r   select_backend   s   r   )r   )r   r   )r   r   r   r   r   r   r   r   r   <module>   s
    
