
    h;                         d Z ddlZddlmZ ddlmZmZ ddlmZm	Z	m
Z
  G d de      Z G d	 d
e	d      Z G d de
      ZdgZy)z&
Image/Text processor class for FLAVA
    N)Iterable)OptionalUnion   )ImagesKwargsProcessingKwargsProcessorMixinc                   h   e Zd ZU ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed	<   ee   ed
<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   eeeef      ed<   ee   ed<   ee   ed<   eeee	e   f      ed<   eeee	e   f      ed<   y)FlavaImagesKwargsreturn_image_maskinput_size_patchestotal_mask_patchesmask_group_min_patchesmask_group_max_patchesmask_group_min_aspect_ratiomask_group_max_aspect_ratioreturn_codebook_pixelscodebook_do_resizecodebook_sizecodebook_resamplecodebook_do_center_cropcodebook_crop_sizecodebook_do_rescalecodebook_rescale_factorcodebook_do_map_pixelscodebook_do_normalizecodebook_image_meancodebook_image_stdN)
__name__
__module____qualname__r   bool__annotations__intfloatr   r        i/var/www/html/aiagenthome/venv/lib/python3.12/site-packages/transformers/models/flava/processing_flava.pyr   r      s    ~% % %$SM)$SM)!)%0!)%0$TN* &D>!}$%d^+ %!$'%eCJ&788$TN*#D>)!%x(>"?@@ uhuo'=!>??r'   r   c                       e Zd ZU eed<   i Zy)FlavaProcessorKwargsimages_kwargsN)r   r    r!   r   r#   	_defaultsr&   r'   r(   r*   r*   2   s    $$Ir'   r*   F)totalc                   X     e Zd ZdZddgZdZdZeZd	 fd	Z	e
d        Ze
d        Z xZS )
FlavaProcessora  
    Constructs a FLAVA processor which wraps a FLAVA image processor and a FLAVA tokenizer into a single processor.

    [`FlavaProcessor`] offers all the functionalities of [`FlavaImageProcessor`] and [`BertTokenizerFast`]. See the
    [`~FlavaProcessor.__call__`] and [`~FlavaProcessor.decode`] for more information.

    Args:
        image_processor ([`FlavaImageProcessor`], *optional*): The image processor is a required input.
        tokenizer ([`BertTokenizerFast`], *optional*): The tokenizer is a required input.
    image_processor	tokenizerFlavaImageProcessor)BertTokenizerBertTokenizerFastc                     d }d|v r+t        j                  dt               |j                  d      }||n|}t        |   ||       | j                  | _        y )Nfeature_extractorzhThe `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor` instead.)warningswarnFutureWarningpopsuper__init__r0   current_processor)selfr0   r1   kwargsr6   	__class__s        r(   r<   zFlavaProcessor.__init__H   sa     &(MM
 !'

+> ?-<-H/N_)4!%!5!5r'   c                 N    t        j                  dt               | j                  S )Nzg`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead.)r7   r8   r9   image_processor_classr>   s    r(   feature_extractor_classz&FlavaProcessor.feature_extractor_classV   s"    u	
 )))r'   c                 N    t        j                  dt               | j                  S )Nz[`feature_extractor` is deprecated and will be removed in v5. Use `image_processor` instead.)r7   r8   r9   r0   rC   s    r(   r6   z FlavaProcessor.feature_extractor^   s"    i	
 ###r'   )NN)r   r    r!   __doc__
attributesrB   tokenizer_classr*   valid_processor_kwargsr<   propertyrD   r6   __classcell__)r@   s   @r(   r/   r/   7   sR    	 $[1J1<O16 * * $ $r'   r/   )rF   r7   collections.abcr   typingr   r   processing_utilsr   r   r	   r   r*   r/   __all__r&   r'   r(   <module>rP      sO     $ " N N@ @0+5 
-$^ -$` 
r'   