+
    œ°³jé  ã                   óÖ   € R t ^ RIHt ^ RIHt ^ RIt^ RIHt ^RI	H
t
 ^RIHt ^RIHtHt ^RIHtHtHtHt ^R	IHtHt ^R
IHtHt  ! R R]RR7      t] ! R R]
4      4       tR.tR# )z'Image processor class for EfficientNet.)Ú	lru_cache)ÚOptionalN)Ú
functional)ÚTorchvisionBackend)ÚBatchFeature)Úgroup_images_by_shapeÚreorder_images)ÚIMAGENET_STANDARD_MEANÚIMAGENET_STANDARD_STDÚPILImageResamplingÚSizeDict)ÚImagesKwargsÚUnpack)Ú
TensorTypeÚauto_docstringc                   ó0   a € ] tR t^#t o RtV 3R ltRtV tR# )Ú EfficientNetImageProcessorKwargsaW  
rescale_offset (`bool`, *optional*, defaults to `self.rescale_offset`):
    Whether to rescale the image between [-max_range/2, scale_range/2] instead of [0, scale_range].
include_top (`bool`, *optional*, defaults to `self.include_top`):
    Normalize the image again with the standard deviation only for image classification if set to True.
c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   # )é   Úrescale_offsetÚinclude_top)Úbool)ÚformatÚ__classdict__s   "€Ú/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/efficientnet/image_processing_efficientnet.pyÚ__annotate__Ú-EfficientNetImageProcessorKwargs.__annotate__#   s   ø‡ ‚ ñ Ññ ñ Ñò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r   #   s   ø‡ € ñ÷ ƒ r   r   F)Útotalc                   ó
  a a€ ] tR t^/t oRt]t]P                  t	]
t]tRRRR/tRRRR/tRtRtRtRtRtRtRtV3R lV 3R	 lltRV3R
 lR llt]! ^
R7      RV3R lR ll4       tRV3R lR lltRV3R lR lltRtVtV ;t# )ÚEfficientNetImageProcessorzITorchvision backend for EfficientNet with rescale offset and include_top.ÚheightiZ  Úwidthi!  TFc                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r   Úkwargs)r   r   )r   r   s   "€r   r   Ú'EfficientNetImageProcessor.__annotate__B   s   ø€ ÷ #ñ #¡Ñ(HÕ!Iñ #r   c                ó(   <€ \         SV `  ! R/ VB  R # )Nr   )ÚsuperÚ__init__)Úselfr-   Ú	__class__s   &,€r   r1   Ú#EfficientNetImageProcessor.__init__B   s   ø€ Ü‰ÒÑ"˜6Ô"r   c                ó.   <€ V ^8„  d   QhRRRS[ RS[RR/# )r   Úimageútorch.TensorÚscaleÚoffsetÚreturn)Úfloatr   )r   r   s   "€r   r   r.   E   s3   ø€ ÷ ñ àðñ ðñ ð	ð 
ñr   c                ó8   € W,          pV'       d
   V^,          pV# )z@Rescale by scale; if offset=True then image = image * scale - 1.r   )r2   r6   r8   r9   r-   Úrescaleds   &&&&, r   ÚrescaleÚ"EfficientNetImageProcessor.rescaleE   s   € ð •=ˆßØ˜�MˆHØˆr   )Úmaxsizec                óì   <€ V ^8„  d   QhRS[ R,          RS[S[S[,          ,          R,          RS[S[S[,          ,          R,          RS[ R,          RS[R,          RS[R,          R	S[ R,          R
S[/# )r   Údo_normalizeNÚ
image_meanÚ	image_stdÚ
do_rescaleÚrescale_factorÚdeviceztorch.devicer   r:   )r   r;   Úlistr   Útuple)r   r   s   "€r   r   r.   S   sŒ   ø€ ÷ 1ñ 1á˜T•kð1ñ ™D¡�KÕ'¨$Õ.ð1ñ ™4¡�;Õ&¨Õ-ð	1ñ
 ˜4•Kð1ñ  �ð1ñ ˜Õ(ð1ñ ˜t�ð1ñ 
ñ1r   c                óÒ   € V'       d]   V'       dU   V'       gM   \         P                  ! W&R 7      RV,          ,          p\         P                  ! W6R 7      RV,          ,          pRpW#V3# ))rG   g      ð?F)ÚtorchÚtensor)r2   rB   rC   rD   rE   rF   rG   r   s   &&&&&&&&r   Ú!_fuse_mean_std_and_rescale_factorÚ<EfficientNetImageProcessor._fuse_mean_std_and_rescale_factorR   sK   € ÷ Ÿ,¯~ÜŸš jÔ@ÀCÈ.ÕDXÕYˆJÜŸš YÔ>À#ÈÕBVÕWˆIØˆJØ jÐ0Ð0r   c                ó†   <€ V ^8„  d   QhRRRS[ RS[RS[ RS[S[S[,          ,          RS[S[S[,          ,          RS[ R	R/# )
r   Úimagesr7   rE   rF   rB   rC   rD   r   r:   )r   r;   rH   )r   r   s   "€r   r   r.   c   sm   ø€ ÷ ñ àðñ ðñ ð	ñ
 ðñ ™D¡�KÕ'ðñ ™4¡�;Õ&ðñ ðð 
ñr   c           
     óö   € V P                  VVVVVVP                  VR 7      w  rVpV'       d   V P                  WVR7      pV'       d1   V P                  VP	                  \
        P                  R7      WV4      pV# ))rB   rC   rD   rE   rF   rG   r   )r9   )Údtype)rM   rG   r>   Ú	normalizeÚtorK   Úfloat32)r2   rP   rE   rF   rB   rC   rD   r   s   &&&&&&&&r   Ú"rescale_and_normalize_efficientnetÚ=EfficientNetImageProcessor.rescale_and_normalize_efficientnetc   sv   € ð -1×,RÑ,RØ%Ø!ØØ!Ø)Ø—=‘=Ø)ð -Só -
Ñ)ˆ
˜z÷ Ø—\‘\ &À�\ÓPˆFßØ—^‘^ F§I¡I´E·M±M IÓ$BÀJÓZˆFØˆr   c          $      ó6  <€ V ^8„  d   QhRS[ R,          RS[RS[RRRS[RS[R	S[R
S[RS[RS[S[ S[,          ,          R,          RS[S[ S[,          ,          R,          RS[R,          RS[R,          RS[R,          RS[S[,          R,          RS[RS[RS[/# )r   rP   r7   Ú	do_resizeÚsizeÚresamplez7PILImageResampling | tvF.InterpolationMode | int | NoneÚdo_center_cropÚ	crop_sizerE   rF   rB   rC   NrD   Údo_padÚpad_sizeÚdisable_groupingÚreturn_tensorsr   r   r:   )rH   r   r   r;   Ústrr   r   )r   r   s   "€r   r   r.   }   s  ø€ ÷ *añ *aá�^Õ$ð*añ ð*añ ð	*að
 Lð*añ ð*añ ð*añ ð*añ ð*añ ð*añ ™D¡�KÕ'¨$Õ.ð*añ ™4¡�;Õ&¨Õ-ð*añ �t•ð*añ ˜T•/ð*añ  �+ð*añ  ™jÕ(¨4Õ/ð!*añ" ð#*añ$ ð%*añ( 
ñ)*ar   c           
     óÚ  € \        WR7      w  pp/ pVP                  4        F%  w  ppV'       d   V P                  VW44      pVVV&   K'  	  \        VV4      p\        VVR7      w  pp/ pVP                  4        FU  w  ppV'       d   V P	                  VV4      pV P                  VWxWšVV4      pV'       d   V P                  V^ V4      pVVV&   KW  	  \        VV4      p\        RV/VR7      # )z&Custom preprocessing for EfficientNet.)r`   Úpixel_values)ÚdataÚtensor_type)r   ÚitemsÚresizer   Úcenter_croprV   rS   r   )r2   rP   rY   rZ   r[   r\   r]   rE   rF   rB   rC   rD   r^   r_   r`   ra   r   r   r-   Úgrouped_imagesÚgrouped_images_indexÚresized_images_groupedÚshapeÚstacked_imagesÚresized_imagesÚprocessed_images_groupedÚprocessed_imagess   &&&&&&&&&&&&&&&&&&,        r   Ú_preprocessÚ&EfficientNetImageProcessor._preprocess}   s  € ô, 0EÀVÔ/oÑ,ˆÐ,Ø!#ÐØ%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%§¡¨^¸TÓ!L�Ø,:Ð" 5Ó)ñ &<ô (Ð(>Ð@TÓUˆä/DÀ^ÐfvÔ/wÑ,ˆÐ,Ø#%Ð Ø%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%×!1Ñ!1°.À)Ó!L�Ø!×DÑDØ 
¸LÐV_ÐaoóˆN÷ Ø!%§¡°ÀÀ9Ó!M�Ø.<Ð$ UÓ+ñ &<ô *Ð*BÐDXÓYÐÜ .Ð2BÐ!CÐQ_Ô`Ð`r   r   gp?)F)NNNNNNF)FT) r   r    r!   r"   r#   r   Úvalid_kwargsr   ÚBICUBICr[   r	   rC   r
   rD   rZ   r]   rY   r\   rE   rF   r   rB   r   r1   r>   r   rM   rV   rr   r%   r&   Ú__classcell__)r3   r   s   @@r   r)   r)   /   s¯   ù‡ € áSà3€Là!×)Ñ)€HØ'€JØ%€IØ�c˜7 CÐ(€DØ˜3 ¨Ð-€IØ€IØ€NØ€JØ€NØ€NØ€LØ€K÷#ó #÷ò ñ �rÔ÷1ñ 1ó ð1÷ ò ÷4*a÷ *aò *ar   r)   )r#   Ú	functoolsr   Útypingr   rK   Útorchvision.transforms.v2r   ÚtvFÚimage_processing_backendsr   Úimage_processing_utilsr   Úimage_transformsr   r   Úimage_utilsr	   r
   r   r   Úprocessing_utilsr   r   Úutilsr   r   r   r)   Ú__all__r   r   r   Ú<module>r‚      sl   ðñ .å Ý ã Ý 7å ;Ý 2ß E÷ó ÷ 5ß /ô	 |¸5õ 	ð ôwaÐ!3ó waó ðwaðt (Ð
(‚r   