o
    Ti~                     @   s8   d dl mZ d dlmZ ddlmZ G dd deZdS )   )check_wandb_availability)Monitor    Nc                       s.   e Zd Z fddZdddZdd Z  ZS )	WandbMonitorc                    sn   t  | t  dd l}|j| _|j| _|j| _|j| _| jr3t	 dkr5|j
| j| j| jd d S d S d S )Nr   )projectgroupentity)super__init__r   wandbenabledr   teamr   distget_rankinit)selfwandb_configr   	__class__ K/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/monitor/wandb.pyr
      s   zWandbMonitor.__init__Nc                 C   s4   | j rt dkrdd l}|j||||dS d S d S )Nr   )stepcommitsync)r   r   r   r   log)r   datar   r   r   r   r   r   r   r      s   zWandbMonitor.logc                 C   sR   | j r#t dkr%|D ]}|d }|d }|d }| j||i|d qd S d S d S )Nr   r      )r   )r   r   r   r   )r   
event_listeventlabelvaluer   r   r   r   write_events    s   zWandbMonitor.write_events)NNN)__name__
__module____qualname__r
   r   r!   __classcell__r   r   r   r   r      s    
r   )utilsr   monitorr   deepspeed.commcommr   r   r   r   r   r   <module>   s   