"""simple docstring"""







from ...configuration_utils import PretrainedConfig
from ...utils import logging


_SCREAMING_SNAKE_CASE	:		str   =   logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE	:		List[str]   =   {
    '''facebook/regnet-y-040''': '''https://huggingface.co/facebook/regnet-y-040/blob/main/config.json''',
}






class      _SCREAMING_SNAKE_CASE							(			_lowerCamelCase				):



   '''simple docstring'''



   __UpperCAmelCase	:							str    =    "regnet"
   __UpperCAmelCase	:							Dict    =    ["x", "y"]







   def __init__(	self ,				_SCREAMING_SNAKE_CASE=3 ,				_SCREAMING_SNAKE_CASE=32 ,				_SCREAMING_SNAKE_CASE=[128, 192, 512, 1088] ,				_SCREAMING_SNAKE_CASE=[2, 6, 12, 2] ,				_SCREAMING_SNAKE_CASE=64 ,				_SCREAMING_SNAKE_CASE="y" ,				_SCREAMING_SNAKE_CASE="relu" ,				**_SCREAMING_SNAKE_CASE ,				):


      '''simple docstring'''

      super().__init__(**__UpperCamelCase	)
      if layer_type not in self.layer_types:
         raise ValueError(F'''layer_type={layer_type} is not one of {','.join(self.layer_types	)}'''	)
      __lowerCamelCase    		=					num_channels
      __lowerCamelCase    		=					embedding_size
      __lowerCamelCase    		=					hidden_sizes
      __lowerCamelCase    		=					depths
      __lowerCamelCase    		=					groups_width
      __lowerCamelCase    		=					layer_type
      __lowerCamelCase    		=					hidden_act
      # always downsample in the first stage
      __lowerCamelCase    		=					True







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


lowerCAmelCase__	:  int						=  {
    '''configuration_switch_transformers''': [
        '''SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''SwitchTransformersConfig''',
        '''SwitchTransformersOnnxConfig''',
    ]
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowerCAmelCase__	:  List[Any]						=  [
				    '''SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''SwitchTransformersEncoderModel''',
				    '''SwitchTransformersForConditionalGeneration''',
				    '''SwitchTransformersModel''',
				    '''SwitchTransformersPreTrainedModel''',
				    '''SwitchTransformersTop1Router''',
				    '''SwitchTransformersSparseMLP''',
				]


if TYPE_CHECKING:
				from .configuration_switch_transformers import (
				    SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    SwitchTransformersConfig,
				    SwitchTransformersOnnxConfig,
				)

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_switch_transformers import (
								    SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST,
								    SwitchTransformersEncoderModel,
								    SwitchTransformersForConditionalGeneration,
								    SwitchTransformersModel,
								    SwitchTransformersPreTrainedModel,
								    SwitchTransformersSparseMLP,
								    SwitchTransformersTopaRouter,
								)


else:
				import sys

				lowerCAmelCase__	:  Union[str, Any]						=  _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)


