§
    Ÿ²ÅjO  ã                   óô  — d dl Z d dlmZmZ d dlmZ d dlmZmZm	Z	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)Ú	dataclassÚfield)ÚEnum)ÚAnyÚDictÚListÚOptionalÚSequenceÚ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__© ó    úVC:\Projects\Historical\venv\Lib\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__8   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   r1   r&   r2   r'   r3   r4   r.   )r5   Ústater6   r.   s       r    Ú__setstate__zTensorProperties.__setstate__L   sŸ   € ð ñ	
ØŒJØŒKØÔØØŒOð Õ"6Ô"NÒNÐNÝ!Ô3ˆMˆMØ Õ$8Ô$LÒLÐLÝ!Ô/ˆMˆMØ Õ$8Ô$NÒNÐNÝ!Ô1ˆMˆMåØNÐ9LÐNÐNñô ð ð +ˆÔÐÐr   ÚtensorÚreturnc                 ó€   — t          | j        | j        | j        t          j        |                      ¦   «         ¬¦  «        S )N)r*   r,   r-   r.   r/   )r   r*   r,   r-   r   r1   Ú	is_pinned)r;   s    r    Úcreate_from_tensorz#TensorProperties.create_from_tensore   s>   € åØ”,Ø”=Ø Ô.ÝÔ1Ø×'Ò'Ñ)Ô)ð
ñ 
ô 
ð 	
r   N)r   r   r   r   r   r   Úget_default_dtyper*   r   Ústridedr,   r-   Úboolr1   r.   r/   r7   r:   ÚstaticmethodÚTensorr?   r   r   r    r   r   )   só   € € € € € € à3Ð3ð ˜¨uÔ/FÐGÑGÔG€Eˆ5Œ;ÐGÐGÑGà ˜5¨¬Ð7Ñ7Ô7€FˆEŒLÐ7Ð7Ñ7à€M�4ÐÐÑà).¨°uÔ7NÐ)OÑ)OÔ)O€M�5Ô&Ð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   r   r   r   r   r    r   r   p   s>   € € € € € € à Ð Ð Ñ Ø
Œ*ÐÐÑØÐ%Ô&Ð&Ð&Ñ&Ð&Ð&r   r   c                   ó   — e Zd ZdS )r   N)r   r   r   r   r   r    r   r   w   s   € € € € € à€Dr   r   c                   ón   — 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<   dS )r   NÚcheckpoint_idÚsave_idÚload_id)r   r   r   rK   r   ÚstrÚosÚPathLiker   rL   r	   rM   r   r   r    r   r   €   sX   € € € € € € à37€M�5˜˜bœk¨4Ð/Ô0Ð7Ð7Ñ7Ø!€GˆX�cŒ]Ð!Ð!Ñ!Ø!€GˆX�cŒ]Ð!Ð!Ñ!Ð!Ð!r   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   r   rN   ÚSTORAGE_TYPESr   rS   r   rT   rU   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 )NrY   r]   rZ   )ÚobjectÚ__setattr__r   r   )r5   rY   rZ   r]   s       r    Ú__init__zMetadataIndex.__init__¬   sj   € õ 	×Ò˜4 ¨Ñ,Ô,Ð,Ý×Ò˜4 ¨%Ñ0Ô0Ð0ØÐÝ×Ò˜t X­u¬z¸&Ñ/AÔ/AÑBÔBÐBÐBÐBð Ðr   )NN)r   r   r   r   rN   r   rZ   r	   r   r   r   r]   Úintr
   ra   r   r   r    r   r   –   sÀ   € € € € € € àSÐSà	€H€H�HØ,à#'€FˆH�U”ZÔ Ð'Ð'Ñ'ØMà ˜5 e°UÀDÐIÑIÔI€Eˆ8�CŒ=ÐIÐIÑIð	ð +/Ø#ð	
Cð 
Càð
Cð ˜ #œÔ'ð
Cð ˜Œ}ð	
Cð 
Cð 
Cð 
Cð 
Cð 
Cr   r   )rO   Údataclassesr   r   Úenumr   Útypingr   r   r   r	   r
   r   r   Ú%torch.distributed.checkpoint.statefulr   Ú__all__r   r"   r   r   r   rV   rN   ÚSTATE_DICT_TYPEr   r   r   r   r   r    ú<module>ri      s€  ðà 	€	€	€	Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à €€€Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð €ð ðð ð ð ð ñ ô ñ „ððð ð ð ð ˜4ñ ô ð ð ðC
ð C
ð C
ð C
ð C
ñ C
ô C
ñ „ðC
ðL ð'ð 'ð 'ð 'ð 'ñ 'ô 'ñ „ð'ð ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ „ð	ð Ð+Ð-AÐAÔB€Ø�s˜E )¨S .Ô1Ð1Ô2€ð ð"ð "ð "ð "ð "ñ "ô "ñ „ð"ð ð/ð /ð /ð /ð /ñ /ô /ñ „ð/ð €�$ÐÑÔðCð Cð Cð Cð Cñ Cô Cñ ÔðCð Cð Cr   