+
     °³jy  ã                   óÞ   € ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^RIHt ^RIHtHt ]P"                  P$                  RR	 R
 ll4       t ! R R]P(                  4      tR# )é    )ÚUnionN)ÚnnÚTensor)ÚBroadcastingList2)Ú_pair)Ú_assert_has_ops)Ú_log_api_usage_once)Úcheck_roi_boxes_shapeÚconvert_boxes_to_roi_formatc          
      ó¢   € V ^8„  d   QhR\         R\        \         \        \         ,          3,          R\        \        ,          R\
        R\         /# )é   ÚinputÚboxesÚoutput_sizeÚspatial_scaleÚreturn)r   r   Úlistr   ÚintÚfloat)Úformats   "ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/ops/roi_pool.pyÚ__annotate__r      sM   € ÷ &ñ &Üð&ä”œœf�Ð%Õ&ð&ô #¤3Õ'ð&ô ð	&ô
 ñ&ó    c                óÄ  € \         P                  P                  4       '       g4   \         P                  P                  4       '       g   \	        \
        4       \        4        \        V4       Tp\        V4      p\        V\         P                  4      '       g   \        V4      p\         P                  P                  P                  WW2^ ,          V^,          4      w  rVV# )a  
Performs Region of Interest (RoI) Pool operator described in Fast R-CNN

Args:
    input (Tensor[N, C, H, W]): The input tensor, i.e. a batch with ``N`` elements. Each element
        contains ``C`` feature maps of dimensions ``H x W``.
    boxes (Tensor[K, 5] or List[Tensor[L, 4]]): the box coordinates in (x1, y1, x2, y2)
        format where the regions will be taken from.
        The coordinate must satisfy ``0 <= x1 < x2`` and ``0 <= y1 < y2``.
        If a single Tensor is passed, then the first column should
        contain the index of the corresponding element in the batch, i.e. a number in ``[0, N - 1]``.
        If a list of Tensors is passed, then each Tensor will correspond to the boxes for an element i
        in the batch.
    output_size (int or Tuple[int, int]): the size of the output after the cropping
        is performed, as (height, width)
    spatial_scale (float): a scaling factor that maps the box coordinates to
        the input coordinates. For example, if your boxes are defined on the scale
        of a 224x224 image and your input is a 112x112 feature map (resulting from a 0.5x scaling of
        the original image), you'll want to set this to 0.5. Default: 1.0

Returns:
    Tensor[K, C, output_size[0], output_size[1]]: The pooled RoIs.
)ÚtorchÚjitÚis_scriptingÚ
is_tracingr	   Úroi_poolr   r
   r   Ú
isinstancer   r   ÚopsÚtorchvision)r   r   r   r   ÚroisÚoutputÚ_s   &&&&   r   r   r      sš   € ô< �9‰9×!Ñ!×#Ò#¬E¯I©I×,@Ñ,@×,BÒ,BÜœHÔ%ÜÔÜ˜%Ô Ø€DÜ˜Ó$€KÜ�dœEŸL™L×)Ò)Ü*¨4Ó0ˆÜ—	‘	×%Ñ%×.Ñ.¨u¸MÐWXÍ>Ð[fÐghÕ[iÓj�I€FØ€Mr   c                   óf   a a€ ] tR t^8t oRtV3R lV 3R lltV3R lR ltV3R lR ltRtVt	V ;t
# )	ÚRoIPoolz
See :func:`roi_pool`.
c                ó6   <€ V ^8„  d   QhRS[ S[,          RS[/# )r   r   r   )r   r   r   )r   Ú__classdict__s   "€r   r   ÚRoIPool.__annotate__=   s!   ø€ ÷ +ñ +Ñ$5±cÕ$:ð +É5ñ +r   c                óR   <€ \         SV `  4        \        V 4       Wn        W n        R # ©N)ÚsuperÚ__init__r	   r   r   )Úselfr   r   Ú	__class__s   &&&€r   r.   ÚRoIPool.__init__=   s"   ø€ Ü‰ÑÔÜ˜DÔ!Ø&ÔØ*Ör   c                óR   <€ V ^8„  d   QhRS[ RS[S[ S[S[ ,          3,          RS[ /# )r   r   r#   r   )r   r   r   )r   r)   s   "€r   r   r*   C   s5   ø€ ÷ Kñ K™Vð K©5±¹¹f½Ð1EÕ+Fð KÉ6ñ Kr   c                óD   € \        WV P                  V P                  4      # r,   )r   r   r   )r/   r   r#   s   &&&r   ÚforwardÚRoIPool.forwardC   s   € Ü˜ T×%5Ñ%5°t×7IÑ7IÓJÐJr   c                ó    <€ V ^8„  d   QhRS[ /# )r   r   )Ústr)r   r)   s   "€r   r   r*   F   s   ø€ ÷ ñ ™#ñ r   c                ól   € V P                   P                   R V P                   RV P                   R2pV# )z(output_size=z, spatial_scale=Ú))r0   Ú__name__r   r   )r/   Úss   & r   Ú__repr__ÚRoIPool.__repr__F   s;   € Ø�~‰~×&Ñ&Ð' }°T×5EÑ5EÐ4FÐFVÐW[×WiÑWiÐVjÐjkÐlˆØˆr   )r   r   )r:   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r.   r4   r<   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r0   r)   s   @@r   r'   r'   8   s/   ù‡ € ñ÷+ó +÷Kð K÷÷ ð r   r'   )g      ð?)Útypingr   r   Útorch.fxr   r   Útorch.jit.annotationsr   Útorch.nn.modules.utilsr   Útorchvision.extensionr   Úutilsr	   Ú_utilsr
   r   ÚfxÚwrapr   ÚModuler'   © r   r   Ú<module>rP      sM   ðÝ ã Û ß Ý 3Ý (Ý 1å 'ß Fð ‡�‡�ö&ó ð&ôRˆb�i‰iö r   