U
    yhP                     @   s^   d dl Z d dlmZ d dlmZ dZe jee ee e jdddZe jee jdd	d
Z	dS )    N)ShardMetadata)Sequencez@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   Q/var/www/html/venv/lib/python3.8/site-packages/torch/distributed/_shard/_utils.pynarrow_tensor_by_index   s    r   )r   metadatar   c                 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   )
ZtorchZ!torch.distributed._shard.metadatar   typingr   ZDEPRECATE_MSGZTensorintr   r   r   r   r   r   <module>   s
    