
    fTh                     `    S r SSKJr  SSKJr  \R
                  " \5      r " S S\5      rS/r	g)zRegNet model configuration   )PretrainedConfig)loggingc                   R   ^  \ rS rSrSrSrSS/rSS/ SQ/ S	QS
SS4U 4S jjrSrU =r	$ )RegNetConfig   a&  
This is the configuration class to store the configuration of a [`RegNetModel`]. It is used to instantiate a RegNet
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 RegNet
[facebook/regnet-y-040](https://huggingface.co/facebook/regnet-y-040) architecture.

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

Args:
    num_channels (`int`, *optional*, defaults to 3):
        The number of input channels.
    embedding_size (`int`, *optional*, defaults to 64):
        Dimensionality (hidden size) for the embedding layer.
    hidden_sizes (`List[int]`, *optional*, defaults to `[256, 512, 1024, 2048]`):
        Dimensionality (hidden size) at each stage.
    depths (`List[int]`, *optional*, defaults to `[3, 4, 6, 3]`):
        Depth (number of layers) for each stage.
    layer_type (`str`, *optional*, defaults to `"y"`):
        The layer to use, it can be either `"x" or `"y"`. An `x` layer is a ResNet's BottleNeck layer with
        `reduction` fixed to `1`. While a `y` layer is a `x` but with squeeze and excitation. Please refer to the
        paper for a detailed explanation of how these layers were constructed.
    hidden_act (`str`, *optional*, defaults to `"relu"`):
        The non-linear activation function in each block. If string, `"gelu"`, `"relu"`, `"selu"` and `"gelu_new"`
        are supported.
    downsample_in_first_stage (`bool`, *optional*, defaults to `False`):
        If `True`, the first stage will downsample the inputs using a `stride` of 2.

Example:
```python
>>> from transformers import RegNetConfig, RegNetModel

>>> # Initializing a RegNet regnet-y-40 style configuration
>>> configuration = RegNetConfig()
>>> # Initializing a model from the regnet-y-40 style configuration
>>> model = RegNetModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```
regnetxyr       )      i   i@  )         r   @   reluc                    > [         T	U ]  " S0 UD6  X`R                  ;  a*  [        SU SSR	                  U R                  5       35      eXl        X l        X0l        X@l        XPl	        X`l
        Xpl        SU l        g )Nzlayer_type=z is not one of ,T )super__init__layer_types
ValueErrorjoinnum_channelsembedding_sizehidden_sizesdepthsgroups_width
layer_type
hidden_actdownsample_in_first_stage)
selfr   r   r   r   r   r    r!   kwargs	__class__s
            g/var/www/auris/envauris/lib/python3.13/site-packages/transformers/models/regnet/configuration_regnet.pyr   RegNetConfig.__init__E   sx     	"6"---{:,ochhtO_O_F`Eabcc(,(($$)-&    )r   r"   r   r   r!   r   r    r   )
__name__
__module____qualname____firstlineno____doc__
model_typer   r   __static_attributes____classcell__)r%   s   @r&   r   r      s:    'R J*K *. .r(   r   N)
r-   configuration_utilsr   utilsr   
get_loggerr)   loggerr   __all__r   r(   r&   <module>r6      s<    ! 3  
		H	%C.# C.L 
r(   