o
    "jX                     @   s>   d dl Z d dlZd dlZd dlZd dlZg ZG dd dZdS )    Nc                   @   sD   e Zd ZdZddddejdfddZd	d
 Zdd Zi fddZ	dS )ProgressBarzprogress barN      Tstepc                 C   s   || _ t|tr|dkrtd|  }||kr|n|| _d| _|| _|| _i | _	g | _
|r3t | _d| _|| _t| jdrD| j pRdtjv pRdtjv pRdtjv | _d S )Nr   z#num should be None or integer (> 0)isattyZ	ipykernelposixZPYCHARM_HOSTED)_num
isinstanceint	TypeError_get_max_width_width_total_width_verbosefile_valuesZ_values_ordertime_start_last_updatenamehasattrr   sysmodulesosenviron_dynamic_display)selfnumwidthverbosestartr   r   	max_width r"   X/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddle/hapi/progressbar.py__init__   s*   	
zProgressBar.__init__c                 C   s@   ddl m} | \}}|dkr|nd}tt|d |d }|S )Nr   )get_terminal_sizeP   g333333?2   )shutilr%   minr
   )r   r%   terminal_width_r!   r"   r"   r#   r   ;   s
   
zProgressBar._get_max_widthc                 C   s   | j   t | _d S )N)r   flushr   r   )r   r"   r"   r#   r    C   s   
zProgressBar.startc                 C   s&  t   }dd }t|D ]&\}\}}|dkr2t|tr |d }n|}t|tjr2dt||f||< q|r=|| j | }	nd}	|	dksG|	dkrRd|	dd| j }
n|	d	krcd|	d
 dd| j }
nd|	d dd| j }
d}| jdkr| j	}| j
rtjd|  tjd ntjd | jd urtt| jd }| jd t| d || jf }t|| j }t| j| }|dkr|d|d  7 }|| jk r|d7 }n|d7 }|d| j|  7 }|d7 }n| jd|  }t|| _	tj| |D ]G\}}|d| 7 }t|tr|n|g}t|D ]-\}}t|ttjtjfr:t|d	kr2|d| 7 }q|d| 7 }q|d| 7 }qq| jd ur|| jk r|	| j|  }|dkrkd|d |d d |d f }n|dkr{d |d |d f }nd!| }|d"| 7 }||
7 }|  j	t|7  _	|| j	kr|d#|| j	  7 }| jd ur|| jkr|d7 }| jd u r|d7 }tj| tj  || _d S | jd$ks| jd%kr| jrtt| jd }| jd t| d& || jf }n| jd|  }|| }|D ]x\}}|d| 7 }t|tr|n|g}|D ]_}t|ttjtjfr>t|d	kr6|d| 7 }q|d| 7 }qt|tjrr|jdkrr|jtjtjfv rrt| d	krh|d|  7 }q|d|  7 }q|d| 7 }qq||
7 }|d7 }tj| tj  d S d S )'Nc                 S   s4   t | } t jdd t jgd| j}t || jS )Nc                 S   s   t dt d| d> d S )Nz<fz<I   r   )structunpackpack)xr"   r"   r#   <lambda>M   s    zEProgressBar.update.<locals>.convert_uint16_to_float.<locals>.<lambda>)Zotypes)npZasarrayZ	vectorizefloat32ZflatZreshapeshape)Zin_listoutr"   r"   r#   convert_uint16_to_floatJ   s   
z3ProgressBar.update.<locals>.convert_uint16_to_floatZlossr   r   z - z.0fzs/gMbP?g     @@zms/g    .Azus/ 
z %zd/%d [=>.]z %3dz - %s:z %.4fz %.4ez %si  z%d:%02d:%02d<   z%d:%02dz%dsz
 - ETA: %s       zd/%d)r   	enumerater	   listr3   Zuint16r   r   r   r   r   r   stdoutwriter   r
   log10strfloatr   lenr4   Zfloat64absr,   r   ZndarraysizeZdtypeitem)r   Zcurrent_numvaluesnowr7   ikvalZ
scalar_valZtime_per_unitZfpsinfoZprev_total_widthZ	numdigitsZ	bar_charsprogZ
prog_widthvetaZ
eta_formatcountr"   r"   r#   updateG   s   






	





zProgressBar.update)
__name__
__module____qualname____doc__r   rF   r$   r   r    rY   r"   r"   r"   r#   r      s    
r   )r   r.   r   r   numpyr3   __all__r   r"   r"   r"   r#   <module>   s   