o
    pip                     @   s\   d dl Z d dlZd dlmZ g Zee jddZ							dd	d
Zdd ZdddZ	dS )    N)
get_loggerZmetricsname F@B c	                 C   s  t |}	tj|	tjd}
td t|
 |
d }|sg }|D ]}|d dk}|r*dnd}|d d	krJ| |d |d
 |d |d ||||||| q|d dkrl| |d |d
 |d |d |d ||||d || q|d dkr| |d |d
 |d |d |d ||||d |d | q|d dkr| |d |d
 |d |d ||d ||||| q|d dkr| |d |d
 |d |d |d |d |||d |d | q|d dkr| |d |d
 |d |d |||d |||| q| |d |d
 |d |d ||||||
 qd S )N)Loaderzyaml metric config: 
ZmonitorsphaseZJOINING   r   methodZAucCalculatorr   labeltargetZMultiTaskAucCalculatorZ
cmatch_varZcmatch_groupZCmatchRankAucCalculatorignore_rankZMaskAucCalculatormaskZCmatchRankMaskAucCalculatorZWuAucCalculatoruid)openyamlloadZ
FullLoaderprintinit_metric)
metric_ptrZmetric_yaml_pathZcmatch_rank_varZmask_varZuid_varr	   Zcmatch_rank_groupr   Zbucket_sizeZ	yaml_fobjcontentZmetric_runner_listZmetric_runnerZis_join r   h/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/paddle/distributed/metric/metrics.pyr      s   r   c                 C   s   | ddkr+| |}| d|d dd|d dd|d	 d
d|d d
d
}|S | |}| d|d d
d|d d
d|d d
d|d d
d|d	 d
d|d d
d|d d
d|d d}|S )z<
    print the metric value. Print directly in back-end
    Zwuaucr   z: User Count=r   z.0fz INS Count=r
   z UAUC=   z.6fz WUAUC=    z: AUC=z BUCKET_ERROR=z MAE=   z RMSE=   z Actual CTR=z Predicted CTR=z COPC=      )findZget_wuauc_metric_msgZget_metric_msg)r   r   ZmetricZmonitor_msgr   r   r   print_metric   s    
:
6r"   allc                 C   s   |du r	d}d}n
d}|dkrdnd}g }|  |}|dkr5|D ]}||dkr2|t| |d	 q |S |D ]}||dkrP||dkrP|t| |d	 q7|S )
z3
    print metric according to stage and phase
    Tdayr   passjoinr
   r   r#   r   )Zget_metric_name_listr!   appendr"   )r   Zis_dayr	   ZstageZ	stage_numZmetric_results	name_listr   r   r   r   	print_auc   s$   
r)   )r   r   r   r   r   Fr   )r#   )
loggingr   Z"paddle.distributed.utils.log_utilsr   __all__INFOloggerr   r"   r)   r   r   r   r   <module>   s   
}