o
    h                     @   s`   d dl Zd dlmZ eeejf ZdgZdedefddZ	dede
fd	d
ZG dd deZdS )    N)AnyCheckpointExceptionexcreturnc                 C   s   | t | jfS N)tb
extract_tb__traceback__)r    r
   t/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/torch/distributed/checkpoint/api.py_wrap_exception
   s   r   objc                 C   s<   t | tsdS t| dkrdS t | d tot | d tjS )NF   r      )
isinstancetuplelenBaseExceptionr   StackSummary)r   r
   r
   r   _is_wrapped_exception   s
   
r   c                       sZ   e Zd ZdZdedeeef f fddZe	deeef fddZ
defd	d
Z  ZS )r   zNException raised if failure was detected as part of a checkpoint load or save.msgfailuresc                    s   t  || || _d S r   )super__init__	_failures)selfr   r   	__class__r
   r   r      s   
zCheckpointException.__init__r   c                 C   s   | j S )zYReturn a dictionary mapping node ranks to their associated exceptions in case of failure.)r   )r   r
   r
   r   r      s   zCheckpointException.failuresc                 C   sz   d| j   d}| j  D ],\}}|\}}|d| d7 }|d ur,|dt|7 }|dtjt||d7 }q|S )NzCheckpointException ranks:
z)Traceback (most recent call last): (RANK z)
 )value)r   keysitemsjoinr   format_listformat_exception_onlytype)r   strrankexc_pairr   tracer
   r
   r   __str__"   s   zCheckpointException.__str__)__name__
__module____qualname____doc__r'   dictintWRAPPED_EXCEPTIONr   propertyr   r+   __classcell__r
   r
   r   r   r      s    )	tracebackr   typingr   r   r   r   r2   __all__r   boolr   r   r
   r
   r
   r   <module>   s    