
    fThu                     r    S r SSKJr  SSKJr  SSKJrJr  \R                  " \	5      r
 " S S\\5      rS/rg)zVitDet model configuration   )PretrainedConfig)logging)BackboneConfigMixin*get_aligned_output_features_output_indicesc                   ^   ^  \ rS rSrSrSrSSSSSSS	S
SSSSSS/ / SSSSS4U 4S jjrSrU =r$ )VitDetConfig   a  
This is the configuration class to store the configuration of a [`VitDetModel`]. It is used to instantiate an
VitDet model according to the specified arguments, defining the model architecture. Instantiating a configuration
with the defaults will yield a similar configuration to that of the VitDet
[google/vitdet-base-patch16-224](https://huggingface.co/google/vitdet-base-patch16-224) architecture.

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

Args:
    hidden_size (`int`, *optional*, defaults to 768):
        Dimensionality of the encoder layers and the pooler layer.
    num_hidden_layers (`int`, *optional*, defaults to 12):
        Number of hidden layers in the Transformer encoder.
    num_attention_heads (`int`, *optional*, defaults to 12):
        Number of attention heads for each attention layer in the Transformer encoder.
    mlp_ratio (`int`, *optional*, defaults to 4):
        Ratio of mlp hidden dim to embedding dim.
    hidden_act (`str` or `function`, *optional*, defaults to `"gelu"`):
        The non-linear activation function (function or string) in the encoder and pooler. If string, `"gelu"`,
        `"relu"`, `"selu"` and `"gelu_new"` are supported.
    dropout_prob (`float`, *optional*, defaults to 0.0):
        The dropout probability for all fully connected layers in the embeddings, encoder, and pooler.
    initializer_range (`float`, *optional*, defaults to 0.02):
        The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
    layer_norm_eps (`float`, *optional*, defaults to 1e-06):
        The epsilon used by the layer normalization layers.
    image_size (`int`, *optional*, defaults to 224):
        The size (resolution) of each image.
    pretrain_image_size (`int`, *optional*, defaults to 224):
        The size (resolution) of each image during pretraining.
    patch_size (`int`, *optional*, defaults to 16):
        The size (resolution) of each patch.
    num_channels (`int`, *optional*, defaults to 3):
        The number of input channels.
    qkv_bias (`bool`, *optional*, defaults to `True`):
        Whether to add a bias to the queries, keys and values.
    drop_path_rate (`float`, *optional*, defaults to 0.0):
        Stochastic depth rate.
    window_block_indices (`List[int]`, *optional*, defaults to `[]`):
        List of indices of blocks that should have window attention instead of regular global self-attention.
    residual_block_indices (`List[int]`, *optional*, defaults to `[]`):
        List of indices of blocks that should have an extra residual block after the MLP.
    use_absolute_position_embeddings (`bool`, *optional*, defaults to `True`):
        Whether to add absolute position embeddings to the patch embeddings.
    use_relative_position_embeddings (`bool`, *optional*, defaults to `False`):
        Whether to add relative position embeddings to the attention maps.
    window_size (`int`, *optional*, defaults to 0):
        The size of the attention window.
    out_features (`List[str]`, *optional*):
        If used as backbone, list of features to output. Can be any of `"stem"`, `"stage1"`, `"stage2"`, etc.
        (depending on how many stages the model has). If unset and `out_indices` is set, will default to the
        corresponding stages. If unset and `out_indices` is unset, will default to the last stage. Must be in the
        same order as defined in the `stage_names` attribute.
    out_indices (`List[int]`, *optional*):
        If used as backbone, list of indices of features to output. Can be any of 0, 1, 2, etc. (depending on how
        many stages the model has). If unset and `out_features` is set, will default to the corresponding stages.
        If unset and `out_features` is unset, will default to the last stage. Must be in the
        same order as defined in the `stage_names` attribute.

Example:

```python
>>> from transformers import VitDetConfig, VitDetModel

>>> # Initializing a VitDet configuration
>>> configuration = VitDetConfig()

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

>>> # Accessing the model configuration
>>> configuration = model.config
```vitdeti         gelug        g{Gz?gư>      r   TF    Nc                   > [         TU ]  " S0 UD6  Xl        X l        X0l        X@l        XPl        X`l        Xpl        Xl	        Xl
        Xl        Xl        Xl        Xl        Xl        Xl        UU l        UU l        UU l        UU l        S/[+        SU R                  S-   5       Vs/ s H  nSU 3PM
     sn-   U l        [/        UUU R,                  S9u  U l        U l        g s  snf )Nstem   stage)out_featuresout_indicesstage_names )super__init__hidden_sizenum_hidden_layersnum_attention_heads	mlp_ratio
hidden_actdropout_probinitializer_rangelayer_norm_eps
image_sizepretrain_image_size
patch_sizenum_channelsqkv_biasdrop_path_ratewindow_block_indicesresidual_block_indices use_absolute_position_embeddings use_relative_position_embeddingswindow_sizeranger   r   _out_features_out_indices)selfr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r   r   kwargsidx	__class__s                           g/var/www/auris/envauris/lib/python3.13/site-packages/transformers/models/vitdet/configuration_vitdet.pyr   VitDetConfig.__init__g   s    2 	"6"&!2#6 "$(!2,$#6 $( ,$8!&<#0P-0P-&"8aI_I_bcIc@d&e@dse}@d&ee0Z%;DL\L\1
-D- 'fs   %C!)r/   r0   r(   r    r   r   r#   r!   r"   r   r   r&   r   r%   r$   r'   r*   r   r+   r,   r)   r-   )	__name__
__module____qualname____firstlineno____doc__
model_typer   __static_attributes____classcell__)r4   s   @r5   r   r      s\    IV J !)-).-2
 2
    r   N)r;   configuration_utilsr   utilsr   utils.backbone_utilsr   r   
get_loggerr7   loggerr   __all__r   r?   r5   <module>rF      sB    ! 3  c 
		H	%@
&(8 @
F 
r?   