
    i                     V    S SK r S SKrS SKrSS/r " S S\5      rS r " S S\5      rg)    NTrainingStatsTimec                   *    \ rS rSrSrS rS rS rSrg)SmoothedValue   zkTrack a series of values and provide access to smoothed values over a
window or the global series average.
c                 6    [         R                  " US9U l        g )N)maxlen)collectionsdeque)selfwindow_sizes     [/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/ppocr/utils/stats.py__init__SmoothedValue.__init__   s     &&k:
    c                 :    U R                   R                  U5        g N)r   append)r   values     r   	add_valueSmoothedValue.add_value   s    

% r   c                 B    [         R                  " U R                  5      $ r   )npmedianr   )r   s    r   get_median_valueSmoothedValue.get_median_value!   s    yy$$r   )r   N)	__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes__ r   r   r   r      s    ;!%r   r   c                  \    [         R                   R                  5       R                  S5      $ )Nz%Y-%m-%d %H:%M:%S.%f)datetimenowstrftimer#   r   r   r   r   %   s#      "++,BCCr   c                   4    \ rS rSrS rS rSS jrSS jrSrg)	r   )   c                 \    Xl         U Vs0 s H  o3[        U5      _M     snU l        g s  snf r   )r   r   smoothed_losses_and_metrics)r   r   
stats_keyskeys       r   r   TrainingStats.__init__*   s1    &7A,
7A{++z,
( ,
s   )c                     UR                  5        HT  u  p#X R                  ;  a"  [        U R                  5      U R                  U'   U R                  U   R	                  U5        MV     g r   )itemsr+   r   r   r   )r   statskvs       r   updateTrainingStats.update0   sT    KKMDA8886CDDTDT6U003,,Q/99!< "r   Nc                     [         R                  " 5       nU(       a  UR                  5        H	  u  p4XBU'   M     U R                  R                  5        H!  u  p4[	        UR                  5       S5      X#'   M#     U$ )N   )r
   OrderedDictr0   r+   roundr   )r   extrasr1   r2   r3   s        r   getTrainingStats.get6   se    '')a '44::<DAQ//115EH = r   c                     U R                  U5      n/ nUR                  5        H%  u  pEUR                  SR                  XE5      5        M'     SR	                  U5      nU$ )Nz{}: {:x<6f}z, )r;   r0   r   formatjoin)r   r:   dstrsr2   r3   s         r   logTrainingStats.log@   sP    HHVGGIDAKK,,Q23 yyr   )r+   r   r   )	r   r   r   r    r   r4   r;   rB   r"   r#   r   r   r   r   )   s    
=r   )	r
   numpyr   r%   __all__objectr   r   r   r#   r   r   <module>rG      s8      F
#%F %DF r   