


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


UpperCAmelCase      =   logging.get_logger(__name__)

UpperCAmelCase      =   {
    """google/mobilenet_v1_1.0_224""": """https://huggingface.co/google/mobilenet_v1_1.0_224/resolve/main/config.json""",
    """google/mobilenet_v1_0.75_192""": """https://huggingface.co/google/mobilenet_v1_0.75_192/resolve/main/config.json""",
    # See all MobileNetV1 models at https://huggingface.co/models?filter=mobilenet_v1
}







class lowerCAmelCase_						(			__snake_case	):

 '''simple docstring'''

 __snake_case												=  'mobilenet_v1'



 def __init__(     self		,				_UpperCAmelCase=3		,				_UpperCAmelCase=2_24		,				_UpperCAmelCase=1.0		,				_UpperCAmelCase=8		,				_UpperCAmelCase="relu6"		,				_UpperCAmelCase=True		,				_UpperCAmelCase=0.999		,				_UpperCAmelCase=0.02		,				_UpperCAmelCase=0.001		,				**_UpperCAmelCase		,				):
       super().__init__(**_UpperCAmelCase )

       if depth_multiplier <= 0:
             raise ValueError('''depth_multiplier must be greater than zero.''' )

       snake_case_	=				num_channels
       snake_case_	=				image_size
       snake_case_	=				depth_multiplier
       snake_case_	=				min_depth
       snake_case_	=				hidden_act
       snake_case_	=				tf_padding
       snake_case_	=				classifier_dropout_prob
       snake_case_	=				initializer_range
       snake_case_	=				layer_norm_eps







class lowerCAmelCase_						(			__snake_case	):

 '''simple docstring'''

 __snake_case												=  version.parse("1.11"	)



 @property
 def 						UpperCamelCase__					(     self ):
       return OrderedDict([('''pixel_values''', {0: '''batch'''})] )



 @property
 def 						UpperCamelCase__					(     self ):
       if self.task == "image-classification":
             return OrderedDict([('''logits''', {0: '''batch'''})] )
       else:
             return OrderedDict([('''last_hidden_state''', {0: '''batch'''}), ('''pooler_output''', {0: '''batch'''})] )





 @property
 def 						UpperCamelCase__					(     self ):
       return 1E-4



from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCAmelCase      =   {"""configuration_vit_msn""": ["""VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP""", """ViTMSNConfig"""]}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase      =   [
       """VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST""",
       """ViTMSNModel""",
       """ViTMSNForImageClassification""",
       """ViTMSNPreTrainedModel""",
   ]

if TYPE_CHECKING:
   from .configuration_vit_msn import VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMSNConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_vit_msn import (
          VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST,
          ViTMSNForImageClassification,
          ViTMSNModel,
          ViTMSNPreTrainedModel,
      )

else:
   import sys

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