Ë
    èÓ^j«  ã                  óN   — d dl mZ d dlmZ d dlZd dlZddlmZ  G d„ de«      Z	y)é    )Úannotations)ÚAnyNé   )ÚTVTensorc                  óB   — e Zd ZdZddddœ	 	 	 	 	 	 	 	 	 dd„Zddœdd„Zy)	ÚImagea×  :class:`torch.Tensor` subclass for images with shape ``[..., C, H, W]``.

    .. note::

        In the :ref:`transforms <transforms>`, ``Image`` instances are largely
        interchangeable with pure :class:`torch.Tensor`. See
        :ref:`this note <passthrough_heuristic>` for more details.

    Args:
        data (tensor-like, PIL.Image.Image): Any data that can be turned into a tensor with :func:`torch.as_tensor` as
            well as PIL images.
        dtype (torch.dtype, optional): Desired data type. If omitted, will be inferred from
            ``data``.
        device (torch.device, optional): Desired device. If omitted and ``data`` is a
            :class:`torch.Tensor`, the device is taken from it. Otherwise, the image is constructed on the CPU.
        requires_grad (bool, optional): Whether autograd should record operations. If omitted and
            ``data`` is a :class:`torch.Tensor`, the value is taken from it. Otherwise, defaults to ``False``.
    N©ÚdtypeÚdeviceÚrequires_gradc               óT  — t        |t        j                  j                  «      rddlm} |j                  |«      }| j                  ||||¬«      }|j                  dk  rt        d|j                  › d�«      ‚|j                  dk(  r|j                  d«      }|j                  | «      S )Nr   )Ú
functionalr	   é   z!Tensor must be 2D or higher, got z	D tensor.)Ú
isinstanceÚPILr   Útorchvision.transforms.v2r   Úpil_to_tensorÚ
_to_tensorÚndimÚ
ValueErrorÚ	unsqueezeÚas_subclass)ÚclsÚdatar
   r   r   ÚFÚtensors          úh/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torchvision/tv_tensors/_image.pyÚ__new__zImage.__new__   s�   € ô �dœCŸI™IŸO™OÔ,ÝAà—?‘? 4Ó(ˆDà—‘ ¨E¸&ÐP]�Ó^ˆØ�;‰;˜Š?ÜÐ@ÀÇÁÀÈYÐWÓXÐXØ�[‰[˜AÒØ×%Ñ% aÓ(ˆFà×!Ñ! #Ó&Ð&ó    )Útensor_contentsc               ó"   — | j                  «       S )N)Ú
_make_repr)Úselfr    s     r   Ú__repr__zImage.__repr__4   s   € Ø�‰Ó Ð r   )
r   r   r
   ztorch.dtype | Noner   ztorch.device | str | int | Noner   zbool | NoneÚreturnr   )r    r   r%   Ústr)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r$   © r   r   r   r      sQ   „ ñð. %)Ø26Ø%)ñ'àð'ð "ð	'ð
 0ð'ð #ð'ð 
ó'ð* 26ö !r   r   )
Ú
__future__r   Útypingr   Ú	PIL.Imager   ÚtorchÚ
_tv_tensorr   r   r+   r   r   ú<module>r1      s    ðÝ "å ã Û å  ô*!ˆHõ *!r   