o
    "j                     @   sD   d dl Z ddlmZ dadd Zdd Zdd	 Zd
d Zdd ZdS )    N   )	Parameterc                   C   s   t d uottdddkS )NZPADDLE_TRAINERS_NUM1   )__parallel_ctx__clz__intosgetenv r
   r
   c/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddle/distributed/parallel_helper.py_is_data_parallel_mode   s   r   c                   C   s   t d uS )Nr   r
   r
   r
   r   _is_parallel_ctx_initialized   s   r   c                 C   s   t d u sJ d| a d S )Nz-ParallelContext can only be initialized once.r   )Zccl_parallel_contextr
   r
   r   _set_parallel_ctx"   s   
r   c                   C   s   t d usJ dt   d S )Nz&ParallelContext should be initialized.)r   initr
   r
   r
   r   _init_parallel_ctx*   s   
r   c                 C   s@   ddl m} | D ]}|jrqt|tr|jr||ddd qd S )Nr   )	broadcastr   T)Zsync_op)distributedr   Zis_distributed
isinstancer   Z	trainable)
parametersr   paramr
   r
   r   _broadcast_parameters2   s   r   )	r   Z	frameworkr   r   r   r   r   r   r   r
   r
   r
   r   <module>   s   