o
    i;                     @   sz   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 deZG d	d
 d
e	ddZG dd de
ZdgZdS )z&
Image/Text processor class for FLAVA
    N)Iterable)OptionalUnion   )ImagesKwargsProcessingKwargsProcessorMixinc                   @   s  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< dS )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    r$   r$   g/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/transformers/models/flava/processing_flava.pyr	      s(   
 r	   c                   @   s   e Zd ZU eed< i ZdS )FlavaProcessorKwargsimages_kwargsN)r   r   r   r	   r!   	_defaultsr$   r$   r$   r%   r&   2   s   
 r&   F)totalc                       sN   e Zd ZdZddgZdZdZeZd fdd	Z	e
d	d
 Ze
dd Z  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BertTokenizerFastNc                    sL   d }d|v rt dt |d}|d ur|n|}t || | j| _d S )Nfeature_extractorzhThe `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor` instead.)warningswarnFutureWarningpopsuper__init__r+   current_processor)selfr+   r,   kwargsr0   	__class__r$   r%   r6   H   s   
zFlavaProcessor.__init__c                 C      t dt | jS )Nzg`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead.)r1   r2   r3   image_processor_classr8   r$   r$   r%   feature_extractor_classV   
   z&FlavaProcessor.feature_extractor_classc                 C   r<   )Nz[`feature_extractor` is deprecated and will be removed in v5. Use `image_processor` instead.)r1   r2   r3   r+   r>   r$   r$   r%   r0   ^   r@   z FlavaProcessor.feature_extractor)NN)r   r   r   __doc__
attributesr=   tokenizer_classr&   valid_processor_kwargsr6   propertyr?   r0   __classcell__r$   r$   r:   r%   r*   7   s    
r*   )rA   r1   collections.abcr   typingr   r   processing_utilsr   r   r   r	   r&   r*   __all__r$   r$   r$   r%   <module>   s   
0