o
    *j                     @   sx   d Z ddlZddlmZmZmZ ddlZddlmZ ddl	m
Z
 ddlmZ e
 ZG dd deZG d	d
 d
eZdS )z MPLUG model configuration     N)AnyDictUnion)PretrainedConfig)logging)Tasksc                "       s   e Zd ZdZejddddddddd	dd
ddddddddddddddddddddddf" fdd	Zedee	e
jf dee	ef fdd Z  ZS )!MPlugConfigZmplugconfig_bert.jsoni     i   TzViT-L-14@   皙?[SEP]N   
      Fbert-base-uncased            M   i            Q?c#           $         s   t  jdi |# || _|| _|| _|| _|| _|| _|| _|| _	|	| _
|
| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _ | | _!|!| _"|"| _#d S N )$super__init__taskbert_config	image_resbatch_size_trainvision_widthdistill	clip_namebatch_size_testk_testalphawarm_upeos	optimizer	schedular
min_length
max_length	beam_sizeadd_ocr
add_objecttext_encodertext_decoderclip_embed_dimclip_image_resolutionclip_vision_layersclip_vision_widthclip_vision_patch_sizeclip_context_lengthclip_vocab_sizeclip_transformer_widthclip_transformer_headsclip_transformer_layers
queue_size	embed_dimtemp)$selfr   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   kwargs	__class__r   x/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/models/multi_modal/mplug/configuration_mplug.pyr   !   sF   (
zMPlugConfig.__init__	yaml_filereturnc                 C   L   t |ddd}tj|tjd}W d    n1 sw   Y  | di |S Nrzutf-8)encoding)Loaderr   openyamlloadrL   clsrF   readerZconfig_dictr   r   rE   from_yaml_fileo      zMPlugConfig.from_yaml_file)__name__
__module____qualname__
model_typer   Zvisual_question_answeringr   classmethodr   strosPathLiker   r   rT   __classcell__r   r   rC   rE   r      sV    N
r   c                       sx   e Zd ZdZejdddddddd	d
ddddddddddddf fdd	Zedee	e
jf dee	ef fddZ  ZS )HiTeAConfigZhitear	   r          r   Tr   r
   r   r   Nr   r   r   r   r   r   r   c                    s   t  jdi | || _|| _|| _|| _|| _|| _|| _|| _	|	| _
|
| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _d S r   )r   r   r   r    r!   
num_framesr"   r#   r$   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r2   r3   r>   r?   r@   )rA   r   r    r!   rb   r"   r#   r$   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r2   r3   r>   r?   r@   rB   rC   r   rE   r   {   s.   
zHiTeAConfig.__init__rF   rG   c                 C   rH   rI   rM   rQ   r   r   rE   rT      rU   zHiTeAConfig.from_yaml_file)rV   rW   rX   rY   r   Zvideo_question_answeringr   rZ   r   r[   r\   r]   r   r   rT   r^   r   r   rC   rE   r_   w   s>    4
r_   )__doc__r\   typingr   r   r   rO   Ztransformersr   Ztransformers.utilsr   Zmodelscope.utils.constantr   Z
get_loggerloggerr   r_   r   r   r   rE   <module>   s   Z