
    Ig*                         d dl Z d dlmZ ddlmZ ddlmZ  e       rd dlmZ  ed       G d	 d
             Z	 G d de      Z
y)    N)	dataclass   )BaseImageProcessor)is_torchvision_available)ComposeT)frozenc                   l    e Zd ZU dZdZeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZeed<   d	 Zy)
SizeDictz>
    Hashable dictionary to store image size information.
    Nheightwidthlongest_edgeshortest_edge
max_height	max_widthc                 P    t        | |      rt        | |      S t        d| d      )NzKey z not found in SizeDict.)hasattrgetattrKeyError)selfkeys     e/var/www/html/answerous/venv/lib/python3.12/site-packages/transformers/image_processing_utils_fast.py__getitem__zSizeDict.__getitem__(   s.    44%%cU"9:;;    )__name__
__module____qualname____doc__r   int__annotations__r   r   r   r   r   r    r   r   r
   r
      sJ     FCE3L#M3JIs<r   r
   c                   f     e Zd ZdZddZd	dZ ej                  d      dd       Z fdZ	 xZ
S )
BaseImageProcessorFastNc                     t         )zV
        Given the input settings e.g. do_resize, build the image transforms.
        )NotImplementedErrorr   kwargss     r   _build_transformsz(BaseImageProcessorFast._build_transforms1   s
     "!r   c                 t    |j                         D ]%  \  }}|| j                  vst        d| d| d       y )NzInvalid transform parameter =.)items_transform_params
ValueError)r   r&   kvs       r   _validate_paramsz'BaseImageProcessorFast._validate_params7   sF    LLN 	JDAq... #?s!A3a!HII	Jr   r   )maxsizec                 J     | j                   di |  | j                  di |S )Nr    )r0   r'   r%   s     r   get_transformsz%BaseImageProcessorFast.get_transforms<   s+    ''%t%%///r   c                 H    t         |          }|j                  dd        |S )Nr,   )superto_dictpop)r   encoder_dict	__class__s     r   r6   zBaseImageProcessorFast.to_dictA   s&    w(,d3r   )returnr   )r:   N)r   r   r   r,   r'   r0   	functools	lru_cacher3   r6   __classcell__)r9   s   @r   r"   r"   .   s?    "J
 Y#0 $0 r   r"   )r;   dataclassesr   image_processing_utilsr   utils.import_utilsr   torchvision.transformsr   r
   r"   r    r   r   <module>rB      sI      ! 6 8 . $< < <$/ r   