
    g*                         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
dS )    N)	dataclass   )BaseImageProcessor)is_torchvision_available)ComposeT)frozenc                   n    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dS )
SizeDictz>
    Hashable dictionary to store image size information.
    Nheightwidthlongest_edgeshortest_edge
max_height	max_widthc                 h    t          | |          rt          | |          S t          d| d          )NzKey z not found in SizeDict.)hasattrgetattrKeyError)selfkeys     d/var/www/html/ai-engine/env/lib/python3.11/site-packages/transformers/image_processing_utils_fast.py__getitem__zSizeDict.__getitem__(   s>    4 	&4%%%:c:::;;;    )__name__
__module____qualname____doc__r   int__annotations__r   r   r   r   r   r    r   r   r
   r
      s           FCE3L#M3JIs< < < < <r   r
   c                   h     e Zd ZdZd
dZddZ ej        d          d
d            Z fd	Z	 xZ
S )BaseImageProcessorFastNreturnr   c                     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                 x    |                                 D ]$\  }}|| j        vrt          d| d| d          %d S )NzInvalid transform parameter =.)items_transform_params
ValueError)r   r'   kvs       r   _validate_paramsz'BaseImageProcessorFast._validate_params7   s`    LLNN 	J 	JDAq... !H!H!HA!H!H!HIII /	J 	Jr   r   )maxsizec                 6     | j         di |  | j        di |S )Nr    )r1   r(   r&   s     r   get_transformsz%BaseImageProcessorFast.get_transforms<   s4    '''''%t%/////r   c                 t    t                                                      }|                    dd            |S )Nr-   )superto_dictpop)r   encoder_dict	__class__s     r   r7   zBaseImageProcessorFast.to_dictA   s3    ww((,d333r   )r#   r   )r#   N)r   r   r   r-   r(   r1   	functools	lru_cacher4   r7   __classcell__)r:   s   @r   r"   r"   .   s        " " " "J J J J
 Y###0 0 0 $#0        r   r"   )r;   dataclassesr   image_processing_utilsr   utils.import_utilsr   torchvision.transformsr   r
   r"   r    r   r   <module>rB      s         ! ! ! ! ! ! 6 6 6 6 6 6 8 8 8 8 8 8  /...... $< < < < < < < <$    /     r   