"""simple docstring"""






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


lowerCAmelCase__  :  Optional[int]						     =	logging.get_logger(__name__)

lowerCAmelCase__  :  Optional[int]						     =	{
    '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 				snake_case       ( __UpperCAmelCase				):




					"""simple docstring"""

					snake_case__				    = "mobilenet_v1"







					def __init__(				self   :	Optional[Any]    ,lowerCamelCase__   :	List[Any]=3    ,lowerCamelCase__   :	Optional[int]=224    ,lowerCamelCase__   :	int=1.0    ,lowerCamelCase__   :	Union[str, Any]=8    ,lowerCamelCase__   :	str="relu6"    ,lowerCamelCase__   :	Tuple=True    ,lowerCamelCase__   :	Optional[Any]=0.9_9_9    ,lowerCamelCase__   :	Optional[int]=0.0_2    ,lowerCamelCase__   :	str=0.0_0_1    ,**lowerCamelCase__   :	List[str]    ,):
									super().__init__(**lowerCamelCase__			)

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

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






class 				snake_case       ( __UpperCAmelCase				):




					"""simple docstring"""

					snake_case__				    = version.parse("1.11"				)







					@property
					def 		__lowerCAmelCase						(				self   :	Union[str, Any]			):
									return OrderedDict([('pixel_values', {0: 'batch'})]			)







					@property
					def 		__lowerCAmelCase						(				self   :	Optional[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   :	str			):
									return 1e-4





import re
def  lowerCAmelCase__			(  SCREAMING_SNAKE_CASE_     )				->		str:

			if len(re.findall('[ATCG]'       ,							SCREAMING_SNAKE_CASE_     )     ) != len(SCREAMING_SNAKE_CASE_     ):
						raise ValueError('Invalid Strand'     )

			return dna.translate(dna.maketrans('ATCG'       ,							'TAGC'     )     )


if __name__ == "__main__":
					import doctest

					doctest.testmod()