§
    ‚Štj”  ã                   óœ   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
  ed	¬
¦  «        e G d„ de¦  «        ¦   «         ¦   «         ZdgZdS )zUperNet model configurationé    )Ústricté   )Ú%consolidate_backbone_kwargs_to_config)ÚPreTrainedConfig)Úauto_docstringé   )Ú
AutoConfigzopenmmlab/upernet-convnext-tiny)Ú
checkpointc                   óþ   ‡ — e Zd ZU dZdZdeiZdZee	z  dz  e
d<   dZee
d<   dZee
d<   d	Zee         eed
f         z  e
d<   dZee
d<   dZe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<   ˆ fd„Zˆ xZS )ÚUperNetConfiga×  
    pool_scales (`tuple[int]`, *optional*, defaults to `[1, 2, 3, 6]`):
        Pooling scales used in Pooling Pyramid Module applied on the last feature map.
    use_auxiliary_head (`bool`, *optional*, defaults to `True`):
        Whether to use an auxiliary head during training.
    auxiliary_loss_weight (`float`, *optional*, defaults to 0.4):
        Weight of the cross-entropy loss of the auxiliary head.
    auxiliary_in_channels (`int`, *optional*, defaults to 256):
        Number of input channels in the auxiliary head.
    auxiliary_channels (`int`, *optional*, defaults to 256):
        Number of channels to use in the auxiliary head.
    auxiliary_num_convs (`int`, *optional*, defaults to 1):
        Number of convolutional layers to use in the auxiliary head.
    auxiliary_concat_input (`bool`, *optional*, defaults to `False`):
        Whether to concatenate the output of the auxiliary head with the input before the classification layer.
    loss_ignore_index (`int`, *optional*, defaults to 255):
        The index that is ignored by the loss function.

    Examples:

    ```python
    >>> from transformers import UperNetConfig, UperNetForSemanticSegmentation

    >>> # Initializing a configuration
    >>> configuration = UperNetConfig()

    >>> # Initializing a model (with random weights) from the configuration
    >>> model = UperNetForSemanticSegmentation(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```ÚupernetÚbackbone_configNi   Úhidden_sizeg{®Gáz”?Úinitializer_range)é   r   r   é   .Úpool_scalesTÚuse_auxiliary_headgš™™™™™Ù?Úauxiliary_loss_weightÚauxiliary_in_channelsé   Úauxiliary_channelsr   Úauxiliary_num_convsFÚauxiliary_concat_inputéÿ   Úloss_ignore_indexc                 ó|   •— t          d| j        ddg d¢idœ|¤Ž\  | _        } t          ¦   «         j        di |¤Ž d S )NÚresnetÚout_features)Ústage1Ústage2Ústage3Ústage4)r   Údefault_config_typeÚdefault_config_kwargs© )r   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úo/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/upernet/configuration_upernet.pyr(   zUperNetConfig.__post_init__K   sm   ø€ Ý'Lð (
Ø Ô0Ø (àÐ HÐ HÐ Hð#ð(
ð (
ð ð(
ð (
Ñ$ˆÔ˜fð 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer	   Úsub_configsr   Údictr   Ú__annotations__r   Úintr   Úfloatr   ÚlistÚtupler   Úboolr   r   r   r   r   r   r(   Ú__classcell__)r+   s   @r,   r   r      s.  ø€ € € € € € ðð ðB €JØ$ jÐ1€Kà6:€O�TÐ,Ñ,¨tÑ3Ð:Ð:Ñ:Ø€K�ÐÐÑØ#Ð�uÐ#Ð#Ñ#Ø/;€K��c”˜U 3¨ 8œ_Ñ,Ð;Ð;Ñ;Ø#Ð˜Ð#Ð#Ñ#Ø#&Ð˜5Ð&Ð&Ñ&Ø(,Ð˜3 ™:Ð,Ð,Ñ,Ø!Ð˜Ð!Ð!Ñ!Ø Ð˜Ð Ð Ñ Ø#(Ð˜DÐ(Ð(Ñ(Ø Ð�sÐ Ð Ñ ð	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(r-   r   N)r1   Úhuggingface_hub.dataclassesr   Úbackbone_utilsr   Úconfiguration_utilsr   Úutilsr   Úauto.configuration_autor	   r   Ú__all__r&   r-   r,   ú<module>rB      sÆ   ðð "Ð !à .Ð .Ð .Ð .Ð .Ð .à CÐ CÐ CÐ CÐ CÐ CØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ð €Ð<Ð=Ñ=Ô=Øð:(ð :(ð :(ð :(ð :(Ð$ñ :(ô :(ñ „ñ >Ô=ð:(ðz Ð
€€€r-   