o
    ‡ZŽh.  ã                   @   sh   d dl mZ d dlZd dlmZ dZdejdee dee dejfd	d
„Zdejdedejfdd„Z	dS )é    )ÚSequenceN)ÚShardMetadataz@Please use DTensor instead and we are deprecating ShardedTensor.ÚtensorÚoffsetsÚsizesÚreturnc                 C   s@   | }t t||ƒƒD ]\}\}}||  |¡k r| |||¡}q	|S )zC
    Narrow the tensor according to ``offsets`` and ``sizes``.
    )Ú	enumerateÚzipÚsizeZnarrow)r   r   r   Znarrowed_tensorÚidxÚoffsetr
   © r   úN/var/www/auris/lib/python3.10/site-packages/torch/distributed/_shard/_utils.pyÚnarrow_tensor_by_index
   s   €r   Úmetadatac                 C   s   t | |j|jƒS )z5
    Narrow the tensor according to the metadata
    )r   Zshard_offsetsZshard_sizes)r   r   r   r   r   Únarrow_tensor   s   r   )
Úcollections.abcr   ZtorchZ!torch.distributed._shard.metadatar   ZDEPRECATE_MSGZTensorÚintr   r   r   r   r   r   Ú<module>   s    ÿþý
ü