
    Phl                         d dl Z d dlmZ d dlmZ dZde j                  dee   dee   de j                  fd	Zde j                  d
ede j                  fdZ	y)    N)ShardMetadata)Sequencez@Please use DTensor instead and we are deprecating ShardedTensor.tensoroffsetssizesreturnc                     | }t        t        ||            D ]0  \  }\  }}|| j                  |      k  s|j                  |||      }2 |S )zC
    Narrow the tensor according to ``offsets`` and ``sizes``.
    )	enumeratezipsizenarrow)r   r   r   narrowed_tensoridxoffsetr   s          jC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torch/distributed/_shard/_utils.pynarrow_tensor_by_indexr      s\     O(We)<=^fd&++c"" .44O  >     metadatac                 D    t        | |j                  |j                        S )z5
    Narrow the tensor according to the metadata
    )r   shard_offsetsshard_sizes)r   r   s     r   narrow_tensorr      s     "&(*@*@(BVBVWWr   )
torch!torch.distributed._shard.metadatar   typingr   DEPRECATE_MSGTensorintr   r    r   r   <module>r       sp     ; R5<< (3- PXY\P] bgbnbn "X%,, X- XELL Xr   