o
    eiG                     @   s   d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
 ddlmZmZ G dd dedd	ZeeZeG d
d deZdgZdS )z!
Processor class for Pix2Struct.
   )BatchFeature)ProcessingKwargsProcessorMixinUnpack)BatchEncodingPreTokenizedInput	TextInput)auto_docstringloggingc                
   @   s.   e Zd Zdddddddddd	ddidZdS )	Pix2StructProcessorKwargsTF    )	add_special_tokenspaddingstridereturn_overflowing_tokensreturn_special_tokens_maskreturn_offsets_mappingreturn_token_type_idsreturn_lengthverbosemax_patchesi   )text_kwargsimages_kwargsN)__name__
__module____qualname__	_defaults r   r   r/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/transformers/models/pix2struct/processing_pix2struct.pyr      s    
r   F)totalc                	       sd   e Zd Z fddZe		ddeeB ee B ee B dee	 de
eB fddZed	d
 Z  ZS )Pix2StructProcessorc                    s   d|_ t || d S )NF)r   super__init__)selfimage_processor	tokenizer	__class__r   r   r"   0   s   zPix2StructProcessor.__init__Ntextkwargsreturnc                 K   sT  |d u r|d u rt d| jtfd| jji|}|d dd }|d u rC| jjsC|d ur/|nd|d d< | jdd|i|d }|S | jjsS| j|fi |d }n|d d| | j|fi |d }|d ur| jjs|d urt|nd	|d d< | jdd|i|d }d
|v r|d
|d< d|v r|d|d< nd }|d ur|	| |S )Nz*You have to specify either images or text.tokenizer_init_kwargsr   r   Tr(   r   header_textFattention_maskdecoder_attention_mask	input_idsdecoder_input_idsr   )

ValueError_merge_kwargsr   r%   init_kwargspopr$   is_vqa
setdefaultupdate)r#   imagesr(   r)   output_kwargsr   text_encodingencoding_image_processorr   r   r   __call__4   s@   


zPix2StructProcessor.__call__c                 C   s   | j j}ddg}|| S )Nr.   r0   )r$   model_input_names)r#   image_processor_input_namesdecoder_idsr   r   r   r=   f   s   z%Pix2StructProcessor.model_input_names)NN)r   r   r   r"   r	   r   r   listr   r   r   r   r<   propertyr=   __classcell__r   r   r&   r   r    .   s    1r    N)__doc__feature_extraction_utilsr   processing_utilsr   r   r   tokenization_utils_baser   r   r   utilsr	   r
   r   
get_loggerr   loggerr    __all__r   r   r   r   <module>   s   

>