U
    *-eJ	                     @   s   d dl mZmZ d dlmZmZmZmZmZm	Z	 d dl
mZ d dlZd dlmZ dddd	d
gZeG dd dZeG dd dZeG dd dZeejef Zeeef Zeee	f ZeG dd	 d	ZeddG dd
 d
ZdS )    )	dataclassfield)DictListUnionOptionalSequenceAny)TensorPropertiesN)ShardedTensorChunkStorageMetadataTensorStorageMetadataBytesStorageMetadataMetadataMetadataIndexc                   @   s&   e Zd ZU dZejed< ejed< dS )r   zk
    Each chunk is expected to have the same properties of the TensorStorageMetadata that includes it.
    offsetssizesN)__name__
__module____qualname____doc__torchSize__annotations__ r   r   f/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/torch/distributed/checkpoint/metadata.pyr      s   

c                   @   s,   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      s   

c                   @   s   e Zd ZdS )r   N)r   r   r   r   r   r   r   r   $   s   c                   @   s6   e Zd ZU eeef ed< dZeed< dZ	eed< dS )r   Zstate_dict_metadataNplanner_datastorage_data)
r   r   r   r   strSTORAGE_TYPESr   r   r	   r    r   r   r   r   r   .   s   
T)frozenc                   @   sf   e Zd ZU dZeed< dZeej	 ed< e
ddddZee ed< deeee  ee dd	d
ZdS )r   zS
    This class represents a lookup key for items in a state dict or Metadata.
    fqnNoffsetF)hashcomparedefaultindex)r$   r%   r)   c                 C   s<   t | d| t | d| |d k	r8t | dt| d S )Nr$   r)   r%   )object__setattr__r   r   )selfr$   r%   r)   r   r   r   __init__N   s    zMetadataIndex.__init__)NN)r   r   r   r   r!   r   r%   r   r   r   r   r)   intr   r-   r   r   r   r   r   6   s   
  
)dataclassesr   r   typingr   r   r   r   r   r	   Z0torch.distributed._shard.sharded_tensor.metadatar
   r   Z'torch.distributed._shard.sharded_tensorr   __all__r   r   r   ZTensorZTENSOR_TYPEr"   r!   ZSTATE_DICT_TYPEr   r   r   r   r   r   <module>   s.    		