a
    Df.	                     @   sX   d Z ddlZddlZddlZdddZG dd dejZdd	 ZdddZdddZ	dS )z
utils/initialization
    N c                 C   s    t  dkr|  ddS | S )NWindowsasciiignore)platformsystemencodedecode)str r   D/data/NAS7/SABIOD/METHODE/ermites/yolo-dyni/yolov5/utils/__init__.pyemojis   s    r   c                   @   s&   e Zd Zd	ddZdd Zdd ZdS )
	TryExceptr   c                 C   s
   || _ d S N)msg)selfr   r   r   r   __init__   s    zTryExcept.__init__c                 C   s   d S r   r   )r   r   r   r   	__enter__   s    zTryExcept.__enter__c                 C   s,   |r(t t| j | jrdnd |  dS )Nz: r   T)printr   r   )r   exc_typevalue	tracebackr   r   r   __exit__   s    $zTryExcept.__exit__N)r   )__name__
__module____qualname__r   r   r   r   r   r   r   r      s   
r   c                    s    fdd}|S )Nc                     s   t j | |dd}|  |S )NT)targetargskwargsdaemon)	threadingThreadstart)r   r   threadfuncr   r   wrapper    s    zthreaded.<locals>.wrapperr   )r%   r&   r   r$   r   threaded   s    r'   Fc                 C   s>   t  }t  D ](}||ur| r0td|j  |  qd S )NzJoining thread )r    current_thread	enumerater   namejoin)verbosemain_threadtr   r   r   join_threads(   s    r/   Tc              	   C   s  t d dd l}dd l}ddlm}m}m} ddlm} |  dd l	}| rZ|j
ddd d }| rd}	| j}
|d	\}}}tt$ dd
lm} |  W d    n1 s0    Y  d|  d|
|	 dd|| |	 dd	||	 dd	}nd}|dd t td|  |S )NzChecking setup...r   )
check_fontcheck_requirementsis_colab)select_devicez/content/sample_dataT)ignore_errorsi   @/)display(z CPUs, z.1fz	 GB RAM, z	 GB disk)r   F)newlineu   Setup complete ✅ )r   osshutilutils.generalr0   r1   r2   utils.torch_utilsr3   psutilrmtreeZvirtual_memorytotal
disk_usage
contextlibsuppress	ExceptionIPythonr6   Zclear_output	cpu_countr   )r,   r9   r:   r0   r1   r2   r3   r=   r6   gbramr?   usedfreesr   r   r   notebook_init2   s,    
&:
rK   )r   )F)T)
__doc__rA   r   r    r   ContextDecoratorr   r'   r/   rK   r   r   r   r   <module>   s   



