
    ^j                     $    d Z  G d d      ZddZy)zM Eval metrics and related

Hacked together by / Copyright 2020 Ross Wightman
c                   $    e Zd ZdZd Zd ZddZy)AverageMeterz1Computes and stores the average and current valuec                 $    | j                          y )N)resetselfs    ]/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/utils/metrics.py__init__zAverageMeter.__init__	   s    

    c                 <    d| _         d| _        d| _        d| _        y N    )valavgsumcountr   s    r   r   zAverageMeter.reset   s    
r
   c                     || _         | xj                  ||z  z  c_        | xj                  |z  c_        | j                  r| j                  | j                  z  | _        y d| _        y r   )r   r   r   r   )r   r   ns      r   updatezAverageMeter.update   sH    C!G

a
,0JJ488djj(Ar
   N   )__name__
__module____qualname____doc__r	   r   r    r
   r   r   r      s    ;>r
   r   c           	         t        t        |      | j                         d         }|j                  d      }| j                  |ddd      \  }}|j	                         }|j                  |j                  dd      j                  |            }|D cg c]C  }|dt        ||       j                  d      j                         j                  d      dz  |z  E c}S c c}w )zNComputes the accuracy over the k top predictions for the specified values of kr   r   TNg      Y@)
minmaxsizetopkteqreshape	expand_asfloatr   )	outputtargetr!   maxk
batch_size_predcorrectks	            r   accuracyr/      s    s4y&++-*+DQJkk$4.GAt668DggfnnQ+55d;<G[_`VWGMSD\"**2.446::1=DzQ```s   ACN)r   )r   r   r/   r   r
   r   <module>r0      s   > >$ar
   