
    \h                    N    S SK Jr  S SKJr  S SKrS SKrSSKJr   " S S\5      r	g)    )annotations)AnyN   )TVTensorc                  @    \ rS rSrSrSSSS.         SS jjrSrg)Mask   a  :class:`torch.Tensor` subclass for segmentation and detection masks with shape ``[..., H, W]``.

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 mask 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                   [        U[        R                  R                  5      (       a  SSKJn  UR                  U5      nU R                  XX4S9nUR                  U 5      $ )Nr   )
functionalr
   )
isinstancePILImagetorchvision.transforms.v2r   pil_to_tensor
_to_tensoras_subclass)clsdatar   r   r   Ftensors          V/var/www/fran/franai/venv/lib/python3.13/site-packages/torchvision/tv_tensors/_mask.py__new__Mask.__new__   sM     dCIIOO,,A??4(D&^!!#&&     )
r   r   r   ztorch.dtype | Noner   ztorch.device | str | int | Noner   zbool | Nonereturnr   )__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      sL    " %)26%)'' "	'
 0' #' 
' 'r   r   )

__future__r   typingr   	PIL.Imager   torch
_tv_tensorr   r   r   r   r   <module>r,      s     "     '8 'r   