Ë
    ÜÓ^jW
  ã                   ó’   — d Z ddlZddlmZ ddlmZ ddlmZ ddl	m
Z
mZmZmZmZ ddlmZmZ dd	lmZ e G d
„ de«      «       ZdgZy)z Image processor class for LeViT.é    N)Ú
functionalé   )ÚTorchvisionBackend)Úget_resize_output_image_size)ÚIMAGENET_DEFAULT_MEANÚIMAGENET_DEFAULT_STDÚChannelDimensionÚPILImageResamplingÚSizeDict)ÚImagesKwargsÚUnpack)Úauto_docstringc            	       ó˜   ‡ — e Zd ZdZej
                  ZeZe	Z
ddiZdZdddœZdZdZdZdZdZdee   fˆ fd	„Z	 dd
ddeddddfˆ fd„Zˆ xZS )ÚLevitImageProcessorzKTorchvision backend for LeViT with custom resize (shortest_edge * 256/224).Úshortest_edgeéà   F©ÚheightÚwidthTNÚkwargsc                 ó$   •— t        ‰| �  di |¤Ž y )N© )ÚsuperÚ__init__)Úselfr   Ú	__class__s     €ú{/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/levit/image_processing_levit.pyr   zLevitImageProcessor.__init__0   s   ø€ Ü‰ÑÑ"˜6Ó"ó    Úimageztorch.TensorÚsizeÚresamplez7PILImageResampling | tvF.InterpolationMode | int | NoneÚreturnc                 óJ  •— |j                   rFt        d|j                   z  «      }t        ||dt        j                  ¬«      \  }}t        ||¬«      }n>|j                  r|j                  s&t        dt        |j                  «       «      › d�«      ‚t        ‰| �0  |f||dœ|¤ŽS )zDResize: shortest_edge is rescaled to int((256/224) * shortest_edge).g’$I’$Iò?F)r    Údefault_to_squareÚinput_data_formatr   zFSize dict must have keys 'height' and 'width' or 'shortest_edge'. Got ú.)r    r!   )r   Úintr   r	   ÚFIRSTr   r   r   Ú
ValueErrorÚlistÚkeysr   Úresize)	r   r   r    r!   r   r   Únew_size_heightÚnew_size_widthr   s	           €r   r,   zLevitImageProcessor.resize3   s¥   ø€ ð ×ÒÜ ¨d×.@Ñ.@Ñ @ÓAˆMÜ.JØ˜M¸UÔVf×VlÑVlô/Ñ+ˆO˜^ô  ?¸.ÔI‰DØ—’ D§J¢JÜØXÔY]Ð^b×^gÑ^gÓ^iÓYjÐXkÐklÐmóð ô ‰w‰~˜eÐL¨$¸ÑLÀVÑLÐLr   )N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   ÚBICUBICr!   r   Ú
image_meanr   Ú	image_stdr    r$   Ú	crop_sizeÚ	do_resizeÚdo_center_cropÚ
do_rescaleÚdo_normalizeÚdo_convert_rgbr   r   r   r   r,   Ú__classcell__)r   s   @r   r   r       s�   ø„ áUà!×)Ñ)€HØ&€JØ$€IØ˜SÐ!€DØÐØ¨Ñ-€IØ€IØ€NØ€JØ€LØ€Nð# ¨Ñ!5õ #ð OSñ	MàðMð ðMð Lð	Mð 
÷Mñ Mr   r   )r2   ÚtorchÚtorchvision.transforms.v2r   ÚtvFÚimage_processing_backendsr   Úimage_transformsr   Úimage_utilsr   r   r	   r
   r   Úprocessing_utilsr   r   Úutilsr   r   Ú__all__r   r   r   ú<module>rF      sR   ðñ 'ã Ý 7å ;Ý <÷õ ÷ 5Ý #ð ô$MÐ,ó $Mó ð$MðN !Ð
!�r   