Ë
    \;j—  ã                   óV   — d dl Z d dlZd dlZddgZ G d„ de«      Zd„ Z G d„ de«      Zy)é    NÚTrainingStatsÚTimec                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚSmoothedValuezsTrack a series of values and provide access to smoothed values over a
    window or the global series average.
    c                 ó:   — t        j                  |¬«      | _        y )N)Úmaxlen)ÚcollectionsÚdeque)ÚselfÚwindow_sizes     údG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\paddleocr/ppocr/utils/stats.pyÚ__init__zSmoothedValue.__init__   s   € Ü ×&Ñ&¨kÔ:ˆ�
ó    c                 ó:   — | j                   j                  |«       y ©N)r
   Úappend)r   Úvalues     r   Ú	add_valuezSmoothedValue.add_value   s   € Ø�
‰
×Ñ˜%Õ r   c                 ó@   — t        j                  | j                  «      S r   )ÚnpÚmedianr
   )r   s    r   Úget_median_valuezSmoothedValue.get_median_value!   s   € Ü�y‰y˜Ÿ™Ó$Ð$r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   © r   r   r   r      s   „ ñò;ò!ó%r   r   c                  ó\   — t         j                   j                  «       j                  d«      S )Nz%Y-%m-%d %H:%M:%S.%f)ÚdatetimeÚnowÚstrftimer   r   r   r   r   %   s#   € Ü×Ñ× Ñ Ó"×+Ñ+Ð,BÓCÐCr   c                   ó(   — e Zd Zd„ Zd„ Zdd„Zdd„Zy)r   c                 óZ   — || _         |D �ci c]  }|t        |«      “Œ c}| _        y c c}w r   )r   r   Úsmoothed_losses_and_metrics)r   r   Ú
stats_keysÚkeys       r   r   zTrainingStats.__init__*   s5   € Ø&ˆÔá7Aó,
Ù7A°ˆC”˜{Ó+Ñ+°zñ,
ˆÕ(ùò ,
s   Œ(c                 óÐ   — |j                  «       D ]S  \  }}|| j                  vr"t        | j                  «      | j                  |<   | j                  |   j	                  |«       ŒU y r   )Úitemsr$   r   r   r   )r   ÚstatsÚkÚvs       r   ÚupdatezTrainingStats.update0   sX   € Ø—K‘K–M‰DˆAˆqØ˜×8Ñ8Ñ8Ü6CÀD×DTÑDTÓ6U�×0Ñ0°Ñ3Ø×,Ñ,¨QÑ/×9Ñ9¸!Õ<ñ "r   Nc                 óê   — t        j                  «       }|r|j                  «       D ]
  \  }}|||<   Œ | j                  j                  «       D ]"  \  }}t	        |j                  «       d«      ||<   Œ$ |S )Né   )r	   ÚOrderedDictr(   r$   Úroundr   )r   Úextrasr)   r*   r+   s        r   ÚgetzTrainingStats.get6   sm   € Ü×'Ñ'Ó)ˆÙØŸ™ž‘��1Ø��a’ð 'à×4Ñ4×:Ñ:Ö<‰DˆAˆqÜ˜Q×/Ñ/Ó1°1Ó5ˆE�!ŠHð =ð ˆr   c                 óÀ   — | j                  |«      }g }|j                  «       D ]&  \  }}|j                  dj                  ||«      «       Œ( dj	                  |«      }|S )Nz{}: {:x<6f}z, )r2   r(   r   ÚformatÚjoin)r   r1   ÚdÚstrsr*   r+   s         r   ÚlogzTrainingStats.log@   sT   € Ø�H‰H�VÓˆØˆØ—G‘G–I‰DˆAˆqØ�K‰K˜×,Ñ,¨Q°Ó2Õ3ð à�y‰y˜‹ˆØˆr   r   )r   r   r   r   r,   r2   r8   r   r   r   r   r   )   s   „ ò
ò=óôr   )	r	   Únumpyr   r   Ú__all__Úobjectr   r   r   r   r   r   Ú<module>r<      s8   ðó Û Û à˜FÐ
#€ô%�Fô %òDô�Fõ r   