§
    �M§jd  ã                   ó    — d dl mZ d dlmZ d dlmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Zd
„ Z	 e	¦   «          g d¢Z
dS )é    )ÚPretrainedConfig)Úrope_config_validation)Ú
AutoConfigc                   óB   ‡ — e Zd ZdZdZ	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„	Zˆ xZS )ÚQwen3VLVisionConfigÚqwen3_vlÚvision_configé   é€  Úgelu_pytorch_tanhéÐ  é   é   é   é   é 	  Nç{®Gáz”?c                 óü   •—  t          ¦   «         j        di |¤Ž || _        || _        || _        || _        || _        || _        || _        || _	        |	| _
        |
| _        || _        |�|ng d¢| _        || _        d S )N)é   r   é   © )ÚsuperÚ__init__ÚdepthÚhidden_sizeÚ
hidden_actÚintermediate_sizeÚ	num_headsÚin_channelsÚ
patch_sizeÚspatial_merge_sizeÚtemporal_patch_sizeÚout_hidden_sizeÚnum_position_embeddingsÚdeepstack_visual_indexesÚinitializer_range)Úselfr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   ÚkwargsÚ	__class__s                  €úOC:\Users\johnn\OneDrive\Documents\AI\models\ideogram4\qwen3_vl_configuration.pyr   zQwen3VLVisionConfig.__init__
   sž   ø€ ð" 	�‰ŒÔÐ"Ð"˜6Ð"Ð"Ð"ØˆŒ
Ø&ˆÔØ$ˆŒØ!2ˆÔØ"ˆŒØ&ˆÔØ$ˆŒØ"4ˆÔØ#6ˆÔ Ø.ˆÔØ'>ˆÔ$ØD\ÐDhÐ(@Ð(@ÐnyÐnyÐnyˆÔ%Ø!2ˆÔÐÐó    )r
   r   r   r   r   r   r   r   r   r   r   Nr   ©Ú__name__Ú
__module__Ú__qualname__Ú
model_typeÚbase_config_keyr   Ú__classcell__©r)   s   @r*   r   r      sp   ø€ € € € € Ø€JØ%€Oð ØØ&ØØØØØØØØ $Ø!%Øð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r+   r   c                   óL   ‡ — e Zd ZdZdZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„	Zˆ xZS )ÚQwen3VLTextConfigÚqwen3_vl_textÚtext_configé€Q é   é V  é    é€   Úsilué ô r   ç�íµ ÷Æ°>TFç    ÐSANç        c                 óš  •— |€'|�%t          |¦  «        }|                     d|¦  «        }|| _        |	| _        || _        || _        || _        || _        |p|| _        || _	        || _
        |
| _        || _        || _        || _        || _        || _        || _        t%          | ddh¬¦  «          t'          ¦   «         j        dd|i|¤Ž d S )NÚ
rope_thetaÚmrope_sectionÚmrope_interleaved)Úignore_keysÚtie_word_embeddingsr   )ÚdictÚpopÚ
vocab_sizeÚmax_position_embeddingsr   r   Únum_hidden_layersÚnum_attention_headsÚnum_key_value_headsÚhead_dimr   r&   Úrms_norm_epsÚ	use_cacherC   Úrope_scalingÚattention_biasÚattention_dropoutr   r   r   )r'   rJ   r   r   rL   rM   rN   rO   r   rK   r&   rP   rQ   rG   rC   rR   Úrope_parametersrS   rT   r(   r)   s                       €r*   r   zQwen3VLTextConfig.__init__/   sõ   ø€ ð, Ð OÐ$?Ý Ñ0Ô0ˆLØ%×)Ò)¨,¸
ÑCÔCˆJØ$ˆŒØ'>ˆÔ$Ø&ˆÔØ!2ˆÔØ!2ˆÔØ#6ˆÔ Ø#6Ð#MÐ:MˆÔ Ø ˆŒØ$ˆŒØ!2ˆÔØ(ˆÔØ"ˆŒØ$ˆŒØ(ˆÔØ,ˆÔØ!2ˆÔÝ˜t°/ÐCVÐ1WÐXÑXÔXÐXØ�‰ŒÔÐKÐKÐ-@ÐKÀFÐKÐKÐKÐKÐKr+   )r8   r9   r:   r;   r;   r;   r<   r=   r>   r   r?   TFr@   NNFrA   r,   r3   s   @r*   r5   r5   +   s‰   ø€ € € € € Ø €JØ#€Oð ØØØØØØØØ &ØØØØ!ØØØØØð'*Lð *Lð *Lð *Lð *Lð *Lð *Lð *Lð *Lð *Lr+   r5   c                   óX   ‡ — e Zd ZdZeedœZdgZ	 	 	 	 	 	 	 dˆ fd
„	Ze	d„ ¦   «         Z
ˆ xZS )ÚQwen3VLConfigr   )r	   r7   Úpast_key_valuesNégP éhP édP éeP Fc                 óú   •— |                       |t          ¦  «        | _        |                       |t          ¦  «        | _        || _        || _        || _        || _         t          ¦   «         j
        di |¤d|i¤Ž d S )NrG   r   )Ú_make_sub_configr   r	   r5   r7   Úimage_token_idÚvideo_token_idÚvision_start_token_idÚvision_end_token_idr   r   )
r'   r7   r	   r_   r`   ra   rb   rG   r(   r)   s
            €r*   r   zQwen3VLConfig.__init__a   s†   ø€ ð "×2Ò2°=ÕBUÑVÔVˆÔØ×0Ò0°Õ>OÑPÔPˆÔØ,ˆÔØ,ˆÔØ%:ˆÔ"Ø#6ˆÔ Ø�‰ŒÔÐKÐK˜6ÐKÐKÐ7JÐKÐKÐKÐKÐKÐKr+   c                 ót   — t          | |¦  «        r| S t          | t          ¦  «        r |di | ¤ŽS  |¦   «         S )Nr   )Ú
isinstancerH   )ÚconfigÚconfig_classs     r*   r^   zQwen3VLConfig._make_sub_configt   sM   € å�f˜lÑ+Ô+ð 	ØˆMÝ�f�dÑ#Ô#ð 	*Ø�<Ð)Ð) &Ð)Ð)Ð)Øˆ|‰~Œ~Ðr+   )NNrY   rZ   r[   r\   F)r-   r.   r/   r0   r   r5   Úsub_configsÚkeys_to_ignore_at_inferencer   Ústaticmethodr^   r2   r3   s   @r*   rW   rW   \   s‘   ø€ € € € € Ø€JØ$7ÐHYÐZÐZ€KØ#4Ð"5Ðð ØØØØ$Ø"Ø!ðLð Lð Lð Lð Lð Lð& ðð ñ „\ðð ð ð ð r+   rW   c                  óª   — dt           fdt          ffD ]?\  } }	 t          j        | ¦  «         Œ# t          $ r t          j        | |¦  «         Y Œ<w xY wd S )Nr   r6   )rW   r5   r   Ú	for_modelÚ
ValueErrorÚregister)r0   rf   s     r*   Úregister_qwen3_vl_configrn   }   s}   € Ø&0µ-Ð%@À?ÕTeÐBfÐ$gð :ð :Ñ ˆ
�Lð	:ÝÔ  Ñ,Ô,Ð,Ð,øÝð 	:ð 	:ð 	:ÝÔ 
¨LÑ9Ô9Ð9Ð9Ð9ð	:øøøð:ð :s   ™.®AÁA)rW   r5   r   rn   N)Ú transformers.configuration_utilsr   Ú transformers.modeling_rope_utilsr   Útransformers.models.autor   r   r5   rW   rn   Ú__all__r   r+   r*   ú<module>rs      sù   ðØ =Ð =Ð =Ð =Ð =Ð =Ø CÐ CÐ CÐ CÐ CÐ CØ /Ð /Ð /Ð /Ð /Ð /ð"3ð "3ð "3ð "3ð "3Ð*ñ "3ô "3ð "3ðJ.Lð .Lð .Lð .Lð .LÐ(ñ .Lô .Lð .Lðbð ð ð ð Ð$ñ ô ð ðB:ð :ð :ð Ð Ñ Ô Ð ð dÐ
cÐ
c€€€r+   