
    zj                     L    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          ZdS )    Nc                   F    e Zd ZdZddddej        dfdZd Zd	 Zi fd
Z	dS )ProgressBarzprogress barN      Tstepc                 
   || _         t          |t                    r|dk    rt          d          |                                 }t          ||          | _        d| _        || _        || _	        i | _
        g | _        |rt          j                    | _        d| _        || _        t!          | j	        d          r| j	                                        p)dt$          j        v pdt$          j        v pdt(          j        v | _        d S )Nr   z#num should be None or integer (> 0)isatty	ipykernelposixPYCHARM_HOSTED)_num
isinstanceint	TypeError_get_max_widthmin_width_total_width_verbosefile_values_values_ordertime_start_last_updatenamehasattrr	   sysmodulesosenviron_dynamic_display)selfnumwidthverbosestartr   r   	max_widths           g/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/paddle/hapi/progressbar.py__init__zProgressBar.__init__   s    	c3 	CC1HHABBB''))	%++	 	&)++DK	 TY))@di.>.>.@.@ .ck).#+%.  2:-	 	    c                     ddl m}  |            \  }}|dk    r|nd}t          t          |dz            |dz
            }|S )Nr   )get_terminal_sizeP   g333333?2   )shutilr-   r   r   )r#   r-   terminal_width_r(   s        r)   r   zProgressBar._get_max_width;   sa    ,,,,,,--//+9A+=+=2NS011>B3FGG	r+   c                 h    | j                                          t          j                    | _        d S )N)r   flushr   r   )r#   s    r)   r'   zProgressBar.startC   s%    	ikkr+   c                    t          j                     }d }t          |          D ]e\  }\  }}|dk    rWt          |t                    r	|d         }n|}t          |t          j                  rdt           ||                    f||<   f|r|| j        z
  |z  }	nd}	|	dk    s|	dk    rd|	dd| j         }
n)|	dk    rd|	d	z  dd
| j         }
nd|	dz  dd| j         }
d}| j        dk    r| j	        }| j
        rBt          j                            d|z             t          j                            d           nt          j                            d           | j        t          t	          j        | j                            dz   }| j        dz   t#          |          z   dz   || j        fz  }t%          |          | j        z  }t          | j        |z            }|dk    r!|d|dz
  z  z  }|| j        k     r|dz  }n|dz  }|d| j        |z
  z  z  }|dz  }n| j         d|d}t)          |          | _	        t          j                            |           |D ]\  }}|d| dz  }t          |t                    r|n|g}t          |          D ]`\  }}t          |t$          t          j        t          j        f          r't/          |          dk    r
|d|dz  }N|d|dz  }X|d| z  }a| j        f|| j        k     r[t          |	| j        |z
  z            }|dk    r|dz   d|dz  dz  dd|dz  d}n|dk    r|dz   d|dz  d}n| d}|d | z  }||
z  }| xj	        t)          |          z  c_	        || j	        k    r|d|| j	        z
  z  z  }| j        || j        k    r|dz  }| j        |dz  }t          j                            |           t          j                                         || _        d S | j        d!k    s| j        d"k    r| j        rQt          t	          j        | j                            dz   }| j        dz   t#          |          z   d#z   || j        fz  }n| j         d|d}||z   }|D ]*\  }}|d| dz  }t          |t                    r|n|g}|D ]}t          |t$          t          j        t          j        f          r't/          |          dk    r
|d|dz  }K|d|dz  }Ut          |t          j                  r|j        dk    r||j        t          j        t          j        fv r]t/          |                                          dk    r|d|                                dz  }|d|                                dz  }|d| z  },||
z  }|dz  }t          j                            |           t          j                                         d S d S )$Nc                     t          j        |           }  t          j        d t           j        g          | j                  }t          j        || j                  S )Nc                 d    t          j        dt          j        d| dz                      d         S )Nz<fz<I   r   )structunpackpack)xs    r)   <lambda>zEProgressBar.update.<locals>.convert_uint16_to_float.<locals>.<lambda>M   s'    &-fk$R.H.HII!L r+   )otypes)npasarray	vectorizefloat32flatreshapeshape)in_listouts     r)   convert_uint16_to_floatz3ProgressBar.update.<locals>.convert_uint16_to_floatJ   s_    j))G",LL
|   l C :c7=111r+   lossr   r   z - z.0fzs/gMbP?g     @@zms/g    .Azus/ 
z %zd/%d [=>.] 3:z.4fz.4ei  <   02sz - ETA:       zd/%d)r   	enumerater   listr?   uint16r   r   r   r   r"   r   stdoutwriter   r   log10strfloatr   lenrB   float64absr4   r   ndarraysizedtypeitem)r#   current_numvaluesnowrH   ikval
scalar_valtime_per_unitfpsinfoprev_total_width	numdigits	bar_charsprog
prog_widthveta
eta_formatcounts                        r)   updatezProgressBar.updateG   s   ikk	2 	2 	2 %V,, 	M 	MKAx3F{{c4(( %!$QJJ!$Jj")44 M!'.E.Ec.J.J)K)K LF1I 	 4;.+=MMMA!!3!38888TY88CCd""?+???DI??CC?+???DI??C=A#0$ '
  (8!8999
  &&&&
  &&&y$ 3 344q8	!Y-I>IIN 	 [))DI5 t!344
>>
Q!77I"TY..!S(		!S(	SDK*$<==	S 		#y::;:::	 #IDJY'''  
( 
(3
a


"'T22=cc%cNN ( (DAq!!eRZ%DEE (q66D== KKKK/DD KKKK/DDA( y$ty)@)@-49{+BCDD::$;NN#*);NNNrNNN J 2XX$'2I!=!=b!=!=!=JJ$'J/:///CKDT*$"333/$2CCDD y$	)A)Ay JT"""J #D]a4=A#5#5y 7 3 344q8	T)C	NN:VCIH 
  966{6664<D  ( (3
a


"'T22=cc ( (A!!eRZ%DEE (q66D== KKKK/DD KKKK/DD"1bj11
(FaKKG
BJ'???qvvxx==4// $6$6$6$66DD $6$6$6$66DDA!($ CKDDLDJT"""JG $6#5r+   )
__name__
__module____qualname____doc__r   r]   r*   r   r'   r|    r+   r)   r   r      s         Z
 
 
 
>  " " " *, L L L L L Lr+   r   )r    r9   r   r   numpyr?   __all__r   r   r+   r)   <module>r      sx    
			  



     
z z z z z z z z z zr+   