o
    i                     @   sf   d Z ddlmZ ddlmZmZmZ G dd dedd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 SigLIP2.
    )Optional   )ImagesKwargsProcessingKwargsProcessorMixinc                   @   s&   e Zd ZU ee ed< ee ed< dS )Siglip2ImagesKwargsmax_num_patches
patch_sizeN)__name__
__module____qualname__r   int__annotations__ r   r   k/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/transformers/models/siglip2/processing_siglip2.pyr      s   
 r   F)totalc                   @   s.   e Zd ZU eed< dddddddd	Zd
S )Siglip2ProcessorKwargsimages_kwargs
max_lengthT@   )padding
truncationr         )r   r	   )text_kwargsr   N)r
   r   r   r   r   	_defaultsr   r   r   r   r      s   
 
r   c                       s4   e Zd ZdZddgZdZdZeZ fddZ	  Z
S )Siglip2Processora!  
    Constructs a Siglip2 processor which wraps a Siglip2 image processor and a Gemma tokenizer into a single processor.

    [`Siglip2Processor`] offers all the functionalities of [`Siglip2ImageProcessor`] and [`GemmaTokenizerFast`]. See the
    [`~Siglip2Processor.__call__`] and [`~Siglip2Processor.decode`] for more information.

    Args:
        image_processor ([`Siglip2ImageProcessor`]):
            The image processor is a required input.
        tokenizer ([`GemmaTokenizerFast`]):
            The tokenizer is a required input.
    image_processor	tokenizerAutoImageProcessorAutoTokenizerc                    s   t  || d S )N)super__init__)selfr   r   	__class__r   r   r"   A   s   zSiglip2Processor.__init__)r
   r   r   __doc__
attributesimage_processor_classtokenizer_classr   valid_processor_kwargsr"   __classcell__r   r   r$   r   r   -   s    r   N)r&   typingr   processing_utilsr   r   r   r   r   r   __all__r   r   r   r   <module>   s   
