U
    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d fddZ	e
ejjejf eeef ejd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
    N)returnc                    s   t d t   d S )NzThe 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__ W/var/www/html/venv/lib/python3.8/site-packages/torchvision/transforms/v2/_deprecated.pyr   )   s    zToTensor.__init__)inptparamsr   c                 C   s
   t |S )N)_FZ	to_tensor)r   r   r   r   r   r   
_transform1   s    zToTensor._transform)__name__
__module____qualname____doc__PILZImagenpZndarrayZ_transformed_typesr   r   r   strr   torchZTensorr   __classcell__r   r   r   r   r      s   r   )r	   typingr   r   r   numpyr   Z	PIL.Imager   r   Ztorchvision.transformsr   r   Ztorchvision.transforms.v2r   r   r   r   r   r   <module>   s   