o
    Vñhš  ã                   @   s`   d dl Z d dlmZmZmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZ G dd„ deƒZdS )é    N)ÚAnyÚDictÚUnion)Ú
functional)Ú	Transformc                       s^   e Zd ZdZejjejfZd
‡ fdd„Z	de
ejjejf deeef dejfdd	„Z‡  ZS )ÚToTensora‚  [DEPRECATED] Use ``v2.Compose([v2.ToImage(), v2.ToDtype(torch.float32, scale=True)])`` instead.

    Convert a PIL Image or ndarray to tensor and scale the values accordingly.

    .. warning::
        :class:`v2.ToTensor` is deprecated and will be removed in a future release.
        Please use instead ``v2.Compose([v2.ToImage(), v2.ToDtype(torch.float32, scale=True)])``.
        Output is equivalent up to float precision.

    This transform does not support torchscript.


    Converts a PIL Image or numpy.ndarray (H x W x C) in the range
    [0, 255] to a torch.FloatTensor of shape (C x H x W) in the range [0.0, 1.0]
    if the PIL Image belongs to one of the modes (L, LA, P, I, F, RGB, YCbCr, RGBA, CMYK, 1)
    or if the numpy.ndarray has dtype = np.uint8

    In the other cases, tensors are returned without scaling.

    .. note::
        Because the input image is scaled to [0.0, 1.0], this transformation should not be used when
        transforming target image masks. See the `references`_ for implementing the transforms for image masks.

    .. _references: https://github.com/pytorch/vision/tree/main/references/segmentation
    ÚreturnNc                    s   t  d¡ tƒ  ¡  d S )NzÕThe transform `ToTensor()` is deprecated and will be removed in a future release. Instead, please use `v2.Compose([v2.ToImage(), v2.ToDtype(torch.float32, scale=True)])`.Output is equivalent up to float precision.)ÚwarningsÚwarnÚsuperÚ__init__)Úself©Ú	__class__© úY/var/www/vscode/kcb/lib/python3.10/site-packages/torchvision/transforms/v2/_deprecated.pyr   )   s   ÿzToTensor.__init__ÚinptÚparamsc                 C   s
   t  |¡S )N)Ú_FÚ	to_tensor)r   r   r   r   r   r   Ú	transform1   s   
zToTensor.transform)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚPILÚImageÚnpÚndarrayÚ_transformed_typesr   r   r   Ústrr   ÚtorchÚTensorr   Ú__classcell__r   r   r   r   r      s
    6r   )r	   Útypingr   r   r   Únumpyr   Ú	PIL.Imager   r!   Útorchvision.transformsr   r   Útorchvision.transforms.v2r   r   r   r   r   r   Ú<module>   s    