o
    ei                     @   sv   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 G dd dedd	ZeG d
d deZdgZdS )z
Processor class for Blip.
   )
ImageInput)ProcessingKwargsProcessorMixinUnpack)BatchEncodingPreTokenizedInput	TextInput)auto_docstringc                   @   s(   e Zd Zddddddddddd	iZdS )BlipProcessorKwargstext_kwargsTF    )	add_special_tokenspaddingstridereturn_overflowing_tokensreturn_special_tokens_maskreturn_offsets_mappingreturn_token_type_idsreturn_lengthverboseN)__name__
__module____qualname__	_defaults r   r   f/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/transformers/models/blip/processing_blip.pyr
      s    r
   F)totalc                
       sh   e Zd Z fddZe		ddedB deee B eB e	B dB de
e defdd	Zed
d Z  ZS )BlipProcessorc                    s   d|_ t || d S )NF)r   super__init__)selfimage_processor	tokenizerkwargs	__class__r   r   r   *   s   zBlipProcessor.__init__Nimagestextr#   returnc                 K   s   |d u r|d u rt dd }| jtfd| jji|}|d ur*| j|fi |d }|d urD| j|fi |d }|d urB|| |S |S )Nz*You have to specify either images or text.tokenizer_init_kwargsr   images_kwargs)
ValueError_merge_kwargsr
   r"   init_kwargsr!   update)r    r&   r'   r#   text_encodingoutput_kwargsencoding_image_processorr   r   r   __call__.   s$   
zBlipProcessor.__call__c                 C   s&   | j j}| jj}dd |D }|| S )Nc                 S   s   g | ]}|d kr|qS )token_type_idsr   ).0namer   r   r   
<listcomp>P   s    z3BlipProcessor.model_input_names.<locals>.<listcomp>)r"   model_input_namesr!   )r    tokenizer_input_namesimage_processor_input_namesr   r   r   r7   L   s   zBlipProcessor.model_input_names)NN)r   r   r   r   r	   r   strlistr   r   r   r
   r   r2   propertyr7   __classcell__r   r   r$   r   r   (   s     r   N)__doc__image_utilsr   processing_utilsr   r   r   tokenization_utils_baser   r   r   utilsr	   r
   r   __all__r   r   r   r   <module>   s   
+