a
    þdÖ  ã                   @   s&   d dl mZ d dlZG dd„ dƒZdS )é    )ÚUnionNc                   @   sH   e Zd ZdZddœdd„Zdd„ Zdeeee	e
jf edd	œd
d„ZdS )ÚAverageMetera!  Computes and stores the average and current value.

    Example:
        >>> stats = AverageMeter()
        >>> acc1 = torch.tensor(0.99) # coming from K.metrics.accuracy
        >>> stats.update(acc1, n=1)  # where n is batch size usually
        >>> stats.avg
        tensor(0.9900)
    N)Úreturnc                 C   s   |   ¡  d S ©N)Úreset©Úself© r	   úe/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/kornia/metrics/average_meter.pyÚ__init__   s    zAverageMeter.__init__c                 C   s   d| _ d| _d| _d| _d S )Nr   )ÚvalÚavgÚsumÚcountr   r	   r	   r
   r      s    zAverageMeter.reseté   )r   Únr   c                 C   s8   || _ |  j|| 7  _|  j|7  _| j| j | _d S r   )r   r   r   r   )r   r   r   r	   r	   r
   Úupdate   s    zAverageMeter.update)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   ÚintÚfloatÚboolÚtorchZTensorr   r	   r	   r	   r
   r      s   
r   )Útypingr   r   r   r	   r	   r	   r
   Ú<module>   s   