Ë
    T^(h„  ã                   ól   — d dl mZ d dlmZ ddlmZmZ  ej                  e«      Z	 G d„ de«      Z
dgZy)é   )ÚPretrainedConfig)Úloggingé   )ÚCONFIG_MAPPINGÚ
AutoConfigc                   óV   ‡ — e Zd ZdZdZeedœZ	 	 	 	 	 	 	 d
dededededef
ˆ fd	„Z	ˆ xZ
S )ÚShieldGemma2Configaá  
    This is the configuration class to store the configuration of a [`ShieldGemma2ForImageClassification`]. It is used to instantiate an
    ShieldGemma2ForImageClassification according to the specified arguments, defining the model architecture. Instantiating a configuration
    with the defaults will yield a similar configuration to that of the shieldgemma-2-4b-it.

    e.g. [google/gemma-3-4b](https://huggingface.co/google/gemma-3-4b)

    Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
    documentation from [`PretrainedConfig`] for more information.

    Args:
        text_config (`Union[ShieldGemma2TextConfig, dict]`, *optional*):
            The config object of the text backbone.
        vision_config (`Union[AutoConfig, dict]`,  *optional*):
            Custom vision config or dict.
        mm_tokens_per_image (`int`, *optional*, defaults to 256):
            The number of tokens per image embedding.
        boi_token_index (`int`, *optional*, defaults to 255999):
            The begin-of-image token index to wrap the image prompt.
        eoi_token_index (`int`, *optional*, defaults to 256000):
            The end-of-image token index to wrap the image prompt.
        image_token_index (`int`, *optional*, defaults to 262144):
            The image token index to encode the image prompt.
        initializer_range (`float`, *optional*, defaults to 0.02):
            The standard deviation of the truncated_normal_initializer for initializing all weight matrices.


    Example:

    ```python
    >>> from transformers import ShieldGemma2ForConditionalGeneration, ShieldGemma2Config, SiglipVisionConfig, ShieldGemma2TextConfig

    >>> # Initializing a Siglip-like vision config
    >>> vision_config = SiglipVisionConfig()

    >>> # Initializing a ShieldGemma2 Text config
    >>> text_config = ShieldGemma2TextConfig()

    >>> # Initializing a ShieldGemma2 gemma-3-4b style configuration
    >>> configuration = ShieldGemma2Config(vision_config, text_config)

    >>> # Initializing a model from the gemma-3-4b style configuration
    >>> model = ShieldGemma2TextConfig(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úshieldgemma2)Útext_configÚvision_configÚmm_tokens_per_imageÚboi_token_indexÚeoi_token_indexÚimage_token_indexÚinitializer_rangec                 ó�  •— t        |t        «      r d|v r|d   nd|d<   t        |d      di |¤Ž}n|€t        d   «       }|| _        t        |t        «      r d|v r|d   nd|d<   t        |d      di |¤Ž}n|€t        d   «       }|| _        || _        || _        || _        || _        || _        || _	        t        ‰	| �,  di |¤Ž y )NÚ
model_typeÚsiglip_vision_modelÚgemma3_text© )Ú
isinstanceÚdictr   r   r   r   r   r   r   r   ÚsuperÚ__init__)
Úselfr   r   r   r   r   r   r   ÚkwargsÚ	__class__s
            €úy/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/models/shieldgemma2/configuration_shieldgemma2.pyr   zShieldGemma2Config.__init__M   sö   ø€ ô �m¤TÔ*à/;¸}Ñ/L�˜lÒ+ÐRgð ˜,Ñ'ô +¨=¸Ñ+FÑGÑXÈ-ÑX‰MØÐ"Ü*Ð+@ÑAÓCˆMà*ˆÔä�k¤4Ô(ØEQÐU`ÑE`¨°LÒ(AÐfsˆK˜Ñ%Ü(¨°\Ñ)BÑCÑRÀkÑR‰KØÐ Ü(¨Ñ7Ó9ˆKà&ˆÔØ*ˆÔØ#6ˆÔ Ø.ˆÔØ.ˆÔØ!2ˆÔØ!2ˆÔä‰ÑÑ"˜6Ó"ó    )NNé   iÿç i è i   g{®Gáz”?)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Úsub_configsÚintÚfloatr   Ú__classcell__)r   s   @r   r	   r	      sm   ø„ ñ.ð`  €JØ",¸zÑJ€Kð ØØ#&Ø&Ø&Ø!(Ø#'ñ##ð !ð	##ð
 ð##ð ð##ð ð##ð !÷##ñ ##r   r	   N)Úconfiguration_utilsr   Úutilsr   Úautor   r   Ú
get_loggerr!   Úloggerr	   Ú__all__r   r   r   ú<module>r/      s>   ðõ" 4Ý ß -ð 
ˆ×	Ñ	˜HÓ	%€ôW#Ð)ô W#ðt  Ð
 �r   