o
    !iJ	                     @   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 g d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   t/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/torch/distributed/checkpoint/metadata.pyr      s   
 
r   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   
 
r   c                   @   s   e Zd ZdS )r   N)r   r   r   r   r   r   r   r   $   s    r   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   
 r   T)frozenc                   @   st   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
dedeee  dee f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indexc                 C   s@   t | d| t | d| |d urt | dt| d S 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"   
 
r   )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&     		