§
    ‚Štjv&  ã                   ó‚  — d dl mZ ddlmZ ddlmZ ddlmZmZ  ed¬¦  «        e G d	„ d
e¦  «        ¦   «         ¦   «         Z	 ed¬¦  «        e G d„ de¦  «        ¦   «         ¦   «         Z
 ed¬¦  «        e G d„ de¦  «        ¦   «         ¦   «         Z ed¬¦  «        e G d„ de¦  «        ¦   «         ¦   «         Zg d¢ZdS )é    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringé   )ÚCONFIG_MAPPINGÚ
AutoConfigzyonigozlan/EdgeTAM-hf)Ú
checkpointc                   ó  ‡ — e Zd ZU dZdZdZdeiZdZe	e
z  dz  ed<   dZee         dz  ed<   dZedz  ed<   dZeed	<   d
Zeed<   d
Zeed<   dZeed<   dZee         dz  ed<   dZeed<   dZeed<   dZeed<   dZeed<   ˆ fd„Zˆ xZS )ÚEdgeTamVisionConfigaÞ  
    backbone_channel_list (`List[int]`, *optional*, defaults to `[384, 192, 96, 48]`):
        The list of channel dimensions for the backbone.
    backbone_feature_sizes (`List[List[int]]`, *optional*, defaults to `[[256, 256], [128, 128], [64, 64]]`):
        The spatial sizes of the feature maps from the backbone.
    fpn_hidden_size (`int`, *optional*, defaults to 256):
        The hidden dimension of the FPN.
    fpn_kernel_size (`int`, *optional*, defaults to 1):
        The kernel size for the convolutions in the neck.
    fpn_stride (`int`, *optional*, defaults to 1):
        The stride for the convolutions in the neck.
    fpn_padding (`int`, *optional*, defaults to 0):
        The padding for the convolutions in the neck.
    fpn_top_down_levels (`List[int]`, *optional*, defaults to `[2, 3]`):
        The levels for the top-down FPN connections.
    num_feature_levels (`int`, *optional*, defaults to 3):
        The number of feature levels from the FPN to use.
    Úvision_configÚedgetam_vision_modelÚbackbone_configNÚbackbone_channel_listÚbackbone_feature_sizesé   Úfpn_hidden_sizeé   Úfpn_kernel_sizeÚ
fpn_strider   Úfpn_paddingÚfpn_top_down_levelsr   Únum_feature_levelsÚgeluÚ
hidden_actç�íµ ÷Æ°>Úlayer_norm_epsç{®Gáz”?Úinitializer_rangec                 óì  •— | j         €g d¢n| j         | _         | j        €ddgddgddggn| j        | _        | j        €ddgn| j        | _        t          | j        t
          ¦  «        rK| j                             dd¦  «        | j        d<   t          | j        d                  di | j        ¤Ž| _        n(| j        €!t          j	        d	dd
g d¢dœ¬¦  «        | _         t          ¦   «         j        di |¤Ž d S )N)i€  éÀ   é`   é0   r   é€   é@   r   r   Ú
model_typeÚtimm_wrapperztimm/repvit_m1.dist_in1kT)r   r   r   r   )Úin_chansÚfeatures_onlyÚout_indices)Ú
model_args© )r   r   r   Ú
isinstancer   ÚdictÚgetr   r	   Úfrom_pretrainedÚsuperÚ__post_init__©ÚselfÚkwargsÚ	__class__s     €úo/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/edgetam/configuration_edgetam.pyr2   z!EdgeTamVisionConfig.__post_init__D   s3  ø€ à"&Ô"<Ð"DÐÐÐÐÈ$ÔJdð 	Ô"ð 37Ô2MÐ2Uˆc�3ˆZ˜#˜s˜ b¨" XÐ.Ð.Ð[_Ô[vð 	Ô#ð .2Ô-EÐ-M A q 6 6ÐSWÔSkˆÔ å�dÔ*­DÑ1Ô1ð 	Ø15Ô1E×1IÒ1IÈ,ÐXfÑ1gÔ1gˆDÔ  Ñ.Ý#1°$Ô2FÀ|Ô2TÔ#UÐ#mÐ#mÐX\ÔXlÐ#mÐ#mˆDÔ Ð ØÔ!Ð)Ý#-Ô#=Ø*Ø()¸DÐQ]ÐQ]ÐQ]Ð^Ð^ð$ñ $ô $ˆDÔ ð 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úbase_config_keyr&   r	   Úsub_configsr   r.   r   Ú__annotations__r   ÚlistÚintr   r   r   r   r   r   r   r   Ústrr   Úfloatr   r2   Ú__classcell__©r6   s   @r7   r   r      sD  ø€ € € € € € ðð ð& &€OØ'€Jà˜:ð€Kð 7;€O�TÐ,Ñ,¨tÑ3Ð:Ð:Ñ:Ø.2Ð˜4 œ9 tÑ+Ð2Ð2Ñ2Ø*.Ð˜D 4™KÐ.Ð.Ñ.Ø€O�SÐÐÑØ€O�SÐÐÑØ€J�ÐÐÑØ€K�ÐÐÑØ,0Ð˜˜cœ TÑ)Ð0Ð0Ñ0ØÐ˜ÐÐÑØ€J�ÐÐÑØ €N�EÐ Ð Ñ Ø#Ð�uÐ#Ð#Ñ#ð(ð (ð (ð (ð (ð (ð (ð (ð (r8   r   c                   óØ   — e Zd ZU dZdZdZeed<   dZee	e         z  e
eef         z  ed<   dZee	e         z  e
eef         z  ed<   dZeed	<   d
Zeed<   dZeed<   dZeed<   dZeed<   dS )ÚEdgeTamPromptEncoderConfigaY  
    mask_input_channels (`int`, *optional*, defaults to 16):
        The number of channels to be fed to the `MaskDecoder` module.
    num_point_embeddings (`int`, *optional*, defaults to 4):
        The number of point embeddings to be used.
    scale (`float`, *optional*, defaults to 1):
        The scale factor for the prompt encoder.
    Úprompt_encoder_configr   Úhidden_sizei   Ú
image_sizeé   Ú
patch_sizeÚmask_input_channelsé   Únum_point_embeddingsr   r   r   r   r   ÚscaleN)r9   r:   r;   r<   r=   rI   rA   r?   rJ   r@   ÚtuplerL   rM   rO   r   rB   r   rC   rP   r,   r8   r7   rG   rG   X   sÊ   € € € € € € ðð ð .€Oà€K�ÐÐÑØ48€J��d˜3”i‘ %¨¨S¨¤/Ñ1Ð8Ð8Ñ8Ø46€J��d˜3”i‘ %¨¨S¨¤/Ñ1Ð6Ð6Ñ6Ø!Ð˜Ð!Ð!Ñ!Ø !Ð˜#Ð!Ð!Ñ!Ø€J�ÐÐÑØ €N�EÐ Ð Ñ Ø€Eˆ3€N€N�N€N€Nr8   rG   c                   óÀ   — e Zd ZU dZdZdZeed<   dZe	ed<   dZ
eed<   d	Zeed
<   dZeed<   d	Zeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dS )ÚEdgeTamMaskDecoderConfiga±  
    mlp_dim (`int`, *optional*, defaults to 2048):
        The dimension of the MLP in the two-way transformer.
    attention_downsample_rate (`int`, *optional*, defaults to 2):
        The downsample rate for the attention layers.
    num_multimask_outputs (`int`, *optional*, defaults to 3):
        The number of multimask outputs.
    iou_head_depth (`int`, *optional*, defaults to 3):
        The depth of the IoU head.
    iou_head_hidden_dim (`int`, *optional*, defaults to 256):
        The hidden dimension of the IoU head.
    dynamic_multimask_via_stability (`bool`, *optional*, defaults to `True`):
        Whether to use dynamic multimask via stability.
    dynamic_multimask_stability_delta (`float`, *optional*, defaults to 0.05):
        The stability delta for the dynamic multimask.
    dynamic_multimask_stability_thresh (`float`, *optional*, defaults to 0.98):
        The stability threshold for the dynamic multimask.
    Úmask_decoder_configr   rI   r   r   i   Úmlp_dimr   Únum_hidden_layersé   Únum_attention_headsÚattention_downsample_rater   Únum_multimask_outputsÚiou_head_depthÚiou_head_hidden_dimTÚdynamic_multimask_via_stabilitygš™™™™™©?Ú!dynamic_multimask_stability_deltag\�Âõ(\ï?Ú"dynamic_multimask_stability_threshN)r9   r:   r;   r<   r=   rI   rA   r?   r   rB   rU   rV   rX   rY   rZ   r[   r\   r]   Úboolr^   rC   r_   r,   r8   r7   rS   rS   p   së   € € € € € € ðð ð& ,€Oà€K�ÐÐÑØ€J�ÐÐÑØ€GˆSÐÐÑØÐ�sÐÐÑØ Ð˜Ð Ð Ñ Ø%&Ð˜sÐ&Ð&Ñ&Ø!"Ð˜3Ð"Ð"Ñ"Ø€N�CÐÐÑØ"Ð˜Ð"Ð"Ñ"Ø,0Ð# TÐ0Ð0Ñ0Ø/3Ð% uÐ3Ð3Ñ3Ø04Ð&¨Ð4Ð4Ñ4Ð4Ð4r8   rS   c                   ó�   ‡ — e Zd ZU dZdZeeedœZdZ	e
ez  dz  ed<   dZe
ez  dz  ed<   dZe
ez  dz  ed<   dZeed	<   ˆ fd
„Zˆ xZS )ÚEdgeTamConfigaÅ  
    prompt_encoder_config (Union[`dict`, `EdgeTamPromptEncoderConfig`], *optional*):
        Dictionary of configuration options used to initialize [`EdgeTamPromptEncoderConfig`].
    mask_decoder_config (Union[`dict`, `EdgeTamMaskDecoderConfig`], *optional*):
        Dictionary of configuration options used to initialize [`EdgeTamMaskDecoderConfig`].

     Example:

     ```python
     >>> from transformers import (
     ...     EdgeTamVisionConfig,
     ...     EdgeTamPromptEncoderConfig,
     ...     EdgeTamMaskDecoderConfig,
     ...     EdgeTamModel,
     ... )

     >>> # Initializing a EdgeTamConfig with `"facebook/edgetam.1_hiera_tiny"` style configuration
     >>> configuration = EdgeTamConfig()

     >>> # Initializing a EdgeTamModel (with random weights) from the `"facebook/edgetam.1_hiera_tiny"` style configuration
     >>> model = EdgeTamModel(configuration)

     >>> # Accessing the model configuration
     >>> configuration = model.config

     >>> # We can also initialize a EdgeTamConfig from a EdgeTamVisionConfig, EdgeTamPromptEncoderConfig, and EdgeTamMaskDecoderConfig
     >>> # Initializing EDGETAM vision encoder, memory attention, and memory encoder configurations
     >>> vision_config = EdgeTamVisionConfig()
     >>> prompt_encoder_config = EdgeTamPromptEncoderConfig()
     >>> mask_decoder_config = EdgeTamMaskDecoderConfig()

     >>> config = EdgeTamConfig(vision_config, prompt_encoder_config, mask_decoder_config)
     ```
    Úedgetam)r   rH   rT   Nr   rH   rT   r   r   c                 óp  •— t          | j        t          ¦  «        rK| j                             dd¦  «        | j        d<   t	          | j        d                  di | j        ¤Ž| _        n | j        €t	          d         ¦   «         | _        t          | j        t          ¦  «        rt          di | j        ¤Ž| _        n| j        €t          ¦   «         | _        t          | j        t          ¦  «        rt          di | j        ¤Ž| _        n| j        €t          ¦   «         | _         t          ¦   «         j
        di |¤Ž d S )Nr&   r   r,   )r-   r   r.   r/   r   rH   rG   rT   rS   r1   r2   r3   s     €r7   r2   zEdgeTamConfig.__post_init__È   s6  ø€ Ý�dÔ(­$Ñ/Ô/ð 	JØ/3Ô/A×/EÒ/EÀlÐTjÑ/kÔ/kˆDÔ˜|Ñ,Ý!/°Ô0BÀ<Ô0PÔ!QÐ!gÐ!gÐTXÔTfÐ!gÐ!gˆDÔÐØÔÐ'Ý!/Ð0FÔ!GÑ!IÔ!IˆDÔå�dÔ0µ$Ñ7Ô7ð 	FÝ)CÐ)aÐ)aÀdÔF`Ð)aÐ)aˆDÔ&Ð&ØÔ'Ð/Ý)CÑ)EÔ)EˆDÔ&å�dÔ.µÑ5Ô5ð 	BÝ'?Ð'[Ð'[À$ÔBZÐ'[Ð'[ˆDÔ$Ð$ØÔ%Ð-Ý'?Ñ'AÔ'AˆDÔ$à�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'r8   )r9   r:   r;   r<   r&   r	   rG   rS   r>   r   r.   r   r?   rH   rT   r   rC   r2   rD   rE   s   @r7   rb   rb   –   sÇ   ø€ € € € € € ð!ð !ðF €Jà#Ø!;Ø7ðð €Kð 59€M�4Ð*Ñ*¨TÑ1Ð8Ð8Ñ8Ø<@Ð˜4Ð"2Ñ2°TÑ9Ð@Ð@Ñ@Ø:>Ð˜Ð 0Ñ0°4Ñ7Ð>Ð>Ñ>Ø#Ð�uÐ#Ð#Ñ#ð(ð (ð (ð (ð (ð (ð (ð (ð (r8   rb   )rb   r   rG   rS   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   Úautor   r	   r   rG   rS   rb   Ú__all__r,   r8   r7   ú<module>rj      s²  ðð( /Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð €Ð2Ð3Ñ3Ô3Øð8(ð 8(ð 8(ð 8(ð 8(Ð*ñ 8(ô 8(ñ „ñ 4Ô3ð8(ðv €Ð2Ð3Ñ3Ô3Øðð ð ð ð Ð!1ñ ô ñ „ñ 4Ô3ðð, €Ð2Ð3Ñ3Ô3Øð!5ð !5ð !5ð !5ð !5Ð/ñ !5ô !5ñ „ñ 4Ô3ð!5ðH €Ð2Ð3Ñ3Ô3ØðA(ð A(ð A(ð A(ð A(Ð$ñ A(ô A(ñ „ñ 4Ô3ðA(ðH mÐ
lÐ
l€€€r8   