



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


a_			=					{
    'configuration_encodec': [
        'ENCODEC_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'EncodecConfig',
    ],
    'feature_extraction_encodec': ['EncodecFeatureExtractor'],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  a_			=					[
      'ENCODEC_PRETRAINED_MODEL_ARCHIVE_LIST',
      'EncodecModel',
      'EncodecPreTrainedModel',
  ]

if TYPE_CHECKING:
  from .configuration_encodec import (
      ENCODEC_PRETRAINED_CONFIG_ARCHIVE_MAP,
      EncodecConfig,
  )
  from .feature_extraction_encodec import EncodecFeatureExtractor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_encodec import (
        ENCODEC_PRETRAINED_MODEL_ARCHIVE_LIST,
        EncodecModel,
        EncodecPreTrainedModel,
    )

else:
  import sys

  a_			=					_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)











from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


a_			=					logging.get_logger(__name__)

a_			=					{
    """sail/poolformer_s12""": """https://huggingface.co/sail/poolformer_s12/resolve/main/config.json""",
    # See all PoolFormer models at https://huggingface.co/models?filter=poolformer
}



class  __lowerCAmelCase     (	lowerCAmelCase__   ):
 lowerCAmelCase__       					=  """poolformer"""




 def __init__(						self	,				__UpperCAmelCase=3	,				__UpperCAmelCase=16	,				__UpperCAmelCase=16	,				__UpperCAmelCase=3	,				__UpperCAmelCase=4.0	,				__UpperCAmelCase=[2, 2, 6, 2]	,				__UpperCAmelCase=[64, 128, 320, 512]	,				__UpperCAmelCase=[7, 3, 3, 3]	,				__UpperCAmelCase=[4, 2, 2, 2]	,				__UpperCAmelCase=[2, 1, 1, 1]	,				__UpperCAmelCase=4	,				__UpperCAmelCase=0.0	,				__UpperCAmelCase="gelu"	,				__UpperCAmelCase=True	,				__UpperCAmelCase=1E-5	,				__UpperCAmelCase=0.02	,				**__UpperCAmelCase	,				):



    '''simple docstring'''
    __lowerCamelCase													=    num_channels
    __lowerCamelCase													=    patch_size
    __lowerCamelCase													=    stride
    __lowerCamelCase													=    padding
    __lowerCamelCase													=    pool_size
    __lowerCamelCase													=    hidden_sizes
    __lowerCamelCase													=    mlp_ratio
    __lowerCamelCase													=    depths
    __lowerCamelCase													=    patch_sizes
    __lowerCamelCase													=    strides
    __lowerCamelCase													=    num_encoder_blocks
    __lowerCamelCase													=    drop_path_rate
    __lowerCamelCase													=    hidden_act
    __lowerCamelCase													=    use_layer_scale
    __lowerCamelCase													=    layer_scale_init_value
    __lowerCamelCase													=    initializer_range
    super().__init__(**__UpperCAmelCase				)



class  __lowerCAmelCase     (	lowerCAmelCase__   ):
 lowerCAmelCase__       					=  version.parse("""1.11"""   )




 @property
 def        lowerCamelCase      (						self				):



    '''simple docstring'''
    return OrderedDict(
        [
            ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
        ]				)




 @property
 def        lowerCamelCase      (						self				):



    '''simple docstring'''
    return 2E-3






