o
    "j                     @   sR   d dl mZ ddlmZ ddlmZ ddlmZmZm	Z	 d dl
Z
G dd dZdS )	    )plugins   )Node)Status)
parse_args
fetch_envsenv_args_mappingNc                   @   sn   e Zd ZdddZdd Zdd Zdd	 Zd
d Zi fddZdd Z	e
jfddZdefddZdd ZdS )ContextTc                 C   sZ   t  \| _| _t | _|   t | _t | _	| 
 | _g | _|r%|   d| _d| _d S )NF)r   argsunknown_argsr   envsset_env_in_argsr   noder   status
get_loggerloggerevents_enable_pluginZmax_time_per_taskZrun_best)selfZenable_plugin r   k/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddle/distributed/launch/context/__init__.py__init__   s   

zContext.__init__c                 C   sN   | j d tt| j D ]\}}| j | d|  q| j d d S )Nz2-----------  Configuration  ----------------------z: z2--------------------------------------------------)r   infosortedvarsr   items)r   argvaluer   r   r   print,   s   zContext.printc                 C   sB   | j jrdS | j jrdS t| jdkr| jd| j  dS dS )NTFr   z!Compatible mode enable with args )r   legacyZmasterlenr   r   warningr   r   r   r   is_legacy_mode2   s   
zContext.is_legacy_modec                 C   s   | j jrdS dS )NTF)r   Zauto_tuner_jsonr#   r   r   r   is_auto_tuner_modeA   s   zContext.is_auto_tuner_modec                 C   s
   | j  S N)r   copyr#   r   r   r   get_envsF   s   
zContext.get_envsc                 C   s"   dd |  D }| j| d S )Nc                 S   s    i | ]\}}t |tr||qS r   )
isinstancestr).0kvr   r   r   
<dictcomp>J   s     z$Context.set_envs.<locals>.<dictcomp>)r   r   update)r   envr   r   r   set_envsI   s   zContext.set_envsc                 C   s   t jD ]}||  qd S r&   )r   Zenabled_plugins)r   plr   r   r   r   M   s   

zContext._enable_pluginc                 C   sR   t d}d|_|| jj p| t jdd}t  }|	| |
| |S )NZLAUNCHFz.%(name)s %(levelname)s %(asctime)s %(message)s)fmt)logging	getLogger	propagatesetLevelr   	log_levelupper	FormatterStreamHandlersetFormatter
addHandler)r   levelr   	formatterchr   r   r   r   Q   s   


zContext.get_loggerreturnc                 C   s   | j j dv r
dS dS )N)DEBUGERRORTF)r   r8   r9   r#   r   r   r   continous_log^   s   zContext.continous_logc              	   C   s`   t  D ])\}}|\}}|| jv r-td| d| d| j|   t| j||| j|  qd S )NzLAUNCH WARNNING args z will be overridden by env: z value: )r   r   r   r   setattrr   )r   r,   r-   attrZ	attr_typer   r   r   r   d   s   
zContext.set_env_in_argsN)T)__name__
__module____qualname__r   r   r$   r%   r(   r1   r   r4   INFOr   boolrD   r   r   r   r   r   r	      s    
r	   )Zpaddle.distributed.launchr   r   r   r   r   Z	args_envsr   r   r   r4   r	   r   r   r   r   <module>   s   