
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


lowercase					:							List[Any]   =      logging.get_logger(__name__)

lowercase					:							Tuple   =      {
    "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 		__UpperCAmelCase   (      _lowerCamelCase		):
							__lowercase   	= """mobilenet_v1"""


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





								"""simple docstring"""






								super().__init__(**lowerCAmelCase_						)

								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 		__UpperCAmelCase   (      _lowerCamelCase		):
							__lowercase   	= version.parse("""1.11"""		)


							@property
							def 				lowerCamelCase       ( self						):





								"""simple docstring"""






								return OrderedDict([('pixel_values', {0: 'batch'})]						)


							@property
							def 				lowerCamelCase       ( self						):





								"""simple docstring"""






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




							@property
							def 				lowerCamelCase       ( self						):





								"""simple docstring"""






								return 1E-4



'''simple docstring'''







from ..utils import DummyObject, requires_backends


class 		__UpperCAmelCase   (      metaclass=_lowerCamelCase		):
							__lowercase   	= ["""torch""", """torchsde"""]


							def __init__( self					,     *lowerCAmelCase_					,     **lowerCAmelCase_						):





								"""simple docstring"""






								requires_backends(self					,     ['torch', 'torchsde']						)


							@classmethod
							def 				lowerCamelCase       ( cls					,     *lowerCAmelCase_					,     **lowerCAmelCase_						):





								"""simple docstring"""






								requires_backends(cls					,     ['torch', 'torchsde']						)




							@classmethod
							def 				lowerCamelCase       ( cls					,     *lowerCAmelCase_					,     **lowerCAmelCase_						):





								"""simple docstring"""






								requires_backends(cls					,     ['torch', 'torchsde']						)

