U
    yh                     @   s<   d dl Z d dlmZmZ d dlZG dd dZdddZdS )    N)AnyDictc                   @   s4   e Zd ZU e Zeeef ed< e	
 Zdd ZdS )DeviceContext	_CONTEXTSc                 C   s
   || _ d S N)device)selfr    r	   L/var/www/html/venv/lib/python3.8/site-packages/torch/_lazy/device_context.py__init__   s    zDeviceContext.__init__N)__name__
__module____qualname__dictr   r   strr   __annotations__	threadingLock_CONTEXTS_LOCKr   r	   r	   r	   r
   r      s   
r   c              
   C   sh   | d krt jj } nt| } tj: tj| d }|d krNt| }|tj| < |W  5 Q R  S Q R X d S r   )	torchZ_CZ_lazyZ_get_default_device_typer   r   r   r   get)r   Zdevctxr	   r	   r
   get_device_context   s    
r   )N)r   typingr   r   Ztorch._C._lazyr   r   r   r	   r	   r	   r
   <module>   s   