
    }Yh                        d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlZd dlmZ g dZe G d d	                      Z G d
 de          Ze G d d                      Ze G d d                      Ze G d d                      Zeeef         Zeeeee	f         f         Ze G d d                      Ze G d d                      Z ed           G d d                      ZdS )    N)Sequence)	dataclassfield)Enum)AnyOptionalUnion)	StatefulT)ChunkStorageMetadataTensorStorageMetadataBytesStorageMetadataMetadataMetadataIndexTensorPropertiesStorageMetac                   <    e Zd ZU dZej        ed<   ej        ed<   dS )r   zo
    Each chunk is expected to have the same properties of the TensorStorageMetadata
    that includes it.
    offsetssizesN)__name__
__module____qualname____doc__torchSize__annotations__     w/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/torch/distributed/checkpoint/metadata.pyr   r      s:          
 Z:r   r   c                       e Zd ZdZdZdZdZdS )_MEM_FORMAT_ENCODINGz'Describe the memory format of a tensor.r         N)r   r   r   r   TORCH_CONTIGUOUS_FORMATTORCH_CHANNELS_LASTTORCH_PRESERVE_FORMATr   r   r   r    r    "   s(        11r   r    c                      e Zd ZU dZ eej                  Zej        ed<    eej	                  Z
ej
        ed<   dZeed<    eej                  Zej        ed<   dZeed	<   d
 Zd Zedej        dd fd            ZdS )r   z)Properties used to create :class:`Tensor`default_factorydtype)defaultlayoutFrequires_gradmemory_format
pin_memoryc                    | j         }|t          j        k    rt          j        }nL|t          j        k    rt          j        }n/|t          j        k    rt          j        }nt          d|           | j
        | j        | j        || j        fS )NzInvalid torch.memory_format: )r-   r   contiguous_formatr    r#   channels_lastr$   preserve_formatr%   RuntimeErrorr)   r+   r,   r.   )selfr-   mem_format_encodings      r   __getstate__zTensorProperties.__getstate__9   s    *E333"6"Ne111"6"Je333"6"LN}NNOOO JKO
 	
r   c                    |\  | _         | _        | _        }| _        |t          j        k    rt          j        }nL|t          j        k    rt          j	        }n/|t          j
        k    rt          j        }nt          d|           || _        d S )Nz&Invalid torch.memory_format encoding: )r)   r+   r,   r.   r    r#   r   r0   r$   r1   r%   r2   r3   r-   )r4   stater5   r-   s       r   __setstate__zTensorProperties.__setstate__M   s     	
JKO "6"NNN!3MM $8$LLL!/MM $8$NNN!1MMN9LNN   +r   tensorreturnc                     t          | j        | j        | j        t          j        |                                           S )N)r)   r+   r,   r-   r.   )r   r)   r+   r,   r   r0   	is_pinned)r:   s    r   create_from_tensorz#TensorProperties.create_from_tensorf   s>    ,= .1''))
 
 
 	
r   N)r   r   r   r   r   r   get_default_dtyper)   r   stridedr+   r,   boolr0   r-   r.   r6   r9   staticmethodTensorr>   r   r   r   r   r   *   s         33 u/FGGGE5;GGG 5777FEL777M4).u7N)O)O)OM5&OOOJ
 
 
(+ + +2 
5< 
4F 
 
 
 \
 
 
r   r   c                   D    e Zd ZU eed<   ej        ed<   ee         ed<   dS )r   
propertiessizechunksN)	r   r   r   r   r   r   r   listr   r   r   r   r   r   q   s>             
*%&&&&&&r   r   c                       e Zd ZdS )r   N)r   r   r   r   r   r   r   r   x   s        Dr   r   c                       e Zd ZU dZeeej        df         ed<   dZ	e
e         ed<   dZe
e         ed<    ee          Zee         ed<   dS )r   Ncheckpoint_idsave_idload_idr'   modules)r   r   r   rK   r	   strosPathLiker   rL   r   rM   r   rH   rN   r   r   r   r   r      sy         37M5bk4/0777!GXc]!!!!GXc]!!!t444GT#Y44444r   r   c                   d    e Zd ZU dZeeef         ed<   dZe	ed<   dZ
e	ed<   dZee         ed<   dS )r   z5This class represents the metadata of the checkpoint.state_dict_metadataNplanner_datastorage_datastorage_meta)r   r   r   r   dictrO   STORAGE_TYPESr   rT   r   rU   rV   r   r   r   r   r   r   r      sg         ?? c=01111
 L#L#*.L(;'.....r   r   T)frozenc                       e Zd ZU dZeed<   	 dZeej	                 ed<   	  e
ddd          Zee         ed<   	 	 	 d	dedeee                  dee         fdZdS )
r   zIThis class represents a lookup key for items in a state dict or Metadata.fqnNoffsetF)hashcomparer*   indexc                     t                               | d|           t                               | d|           |0t                               | dt          j        |                     d S d S )Nr[   r_   r\   )object__setattr__r   r   )r4   r[   r\   r_   s       r   __init__zMetadataIndex.__init__   sj     	4,,,4%000tXuz&/A/ABBBBB r   )NN)r   r   r   r   rO   r   r\   r   r   r   r   r_   intr   rc   r   r   r   r   r      s         SS	HHH,#'FHUZ '''M 5eUDIIIE8C=III	 +/#	
C 
C
C #'
C }	
C 
C 
C 
C 
C 
Cr   r   )rP   collections.abcr   dataclassesr   r   enumr   typingr   r   r	   r   %torch.distributed.checkpoint.statefulr
   __all__r   r    r   r   r   rX   rW   rO   STATE_DICT_TYPEr   r   r   r   r   r   <module>rl      s   				 $ $ $ $ $ $ ( ( ( ( ( ( ( (       ' ' ' ' ' ' ' ' ' '  ; ; ; ; ; ;              4    C
 C
 C
 C
 C
 C
 C
 C
L ' ' ' ' ' ' ' ' 	 	 	 	 	 	 	 	 +-AABsE)S.112 5 5 5 5 5 5 5 5 / / / / / / / / $C C C C C C C C C Cr   