



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__								=						{
    '''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       a							(			__lowerCamelCase				):
		__lowerCAmelCase	:    Tuple											=					"""mobilenet_v1"""



		def __init__(     self     :Optional[Any]   ,__lowercase     :Dict=3   ,__lowercase     :Optional[Any]=2_2_4   ,__lowercase     :Any=1.0   ,__lowercase     :Any=8   ,__lowercase     :List[Any]="relu6"   ,__lowercase     :Any=True   ,__lowercase     :int=0.999   ,__lowercase     :Optional[Any]=0.02   ,__lowercase     :Optional[int]=0.001   ,**__lowercase     :str   ,):
						super().__init__(**__lowercase  )

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

						snake_case__	:      Tuple     		=	num_channels
						snake_case__	:      Tuple     		=	image_size
						snake_case__	:      List[Any]     		=	depth_multiplier
						snake_case__	:      List[Any]     		=	min_depth
						snake_case__	:      Tuple     		=	hidden_act
						snake_case__	:      int     		=	tf_padding
						snake_case__	:      Union[str, Any]     		=	classifier_dropout_prob
						snake_case__	:      List[str]     		=	initializer_range
						snake_case__	:      List[Any]     		=	layer_norm_eps


class       a							(			__lowerCamelCase				):
		__lowerCAmelCase	:    Any											=					version.parse("""1.11"""				)



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



		@property
		def 	__lowerCamelCase			(     self     :List[Any]  ):
						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     :Optional[int]  ):
						return 1e-4






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


A__								=						{
    '''configuration_ctrl''': ['''CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''CTRLConfig'''],
    '''tokenization_ctrl''': ['''CTRLTokenizer'''],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				A__								=						[
				    '''CTRL_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''CTRLForSequenceClassification''',
				    '''CTRLLMHeadModel''',
				    '''CTRLModel''',
				    '''CTRLPreTrainedModel''',
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				A__								=						[
				    '''TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''TFCTRLForSequenceClassification''',
				    '''TFCTRLLMHeadModel''',
				    '''TFCTRLModel''',
				    '''TFCTRLPreTrainedModel''',
				]


if TYPE_CHECKING:
				from .configuration_ctrl import CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP, CTRLConfig
				from .tokenization_ctrl import CTRLTokenizer

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_ctrl import (
								    CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
								    CTRLForSequenceClassification,
								    CTRLLMHeadModel,
								    CTRLModel,
								    CTRLPreTrainedModel,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_ctrl import (
								    TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFCTRLForSequenceClassification,
								    TFCTRLLMHeadModel,
								    TFCTRLModel,
								    TFCTRLPreTrainedModel,
								)

else:
				import sys

				A__								=						_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)

