U
    ©Ê¹jJ	  ã                   @   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   úd/var/www/html/bwave/python/venv/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.    û		