





"""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


__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    _lowerCAmelCase  (	a			):
       """simple docstring"""




       __magic_name__	:Dict						    =   """mobilenet_v1"""






       def __init__(       self       ,					__UpperCAmelCase=3       ,					__UpperCAmelCase=2_2_4       ,					__UpperCAmelCase=1.0       ,					__UpperCAmelCase=8       ,					__UpperCAmelCase="relu6"       ,					__UpperCAmelCase=True       ,					__UpperCAmelCase=0.9_99       ,					__UpperCAmelCase=0.02       ,					__UpperCAmelCase=0.0_01       ,					**__UpperCAmelCase       ,					):



         '''simple docstring'''

         super().__init__(**__UpperCAmelCase )

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

         lowerCAmelCase__     :Tuple											=				num_channels
         lowerCAmelCase__     :Union[str, Any]											=				image_size
         lowerCAmelCase__     :Union[str, Any]											=				depth_multiplier
         lowerCAmelCase__     :Any											=				min_depth
         lowerCAmelCase__     :Tuple											=				hidden_act
         lowerCAmelCase__     :Dict											=				tf_padding
         lowerCAmelCase__     :Tuple											=				classifier_dropout_prob
         lowerCAmelCase__     :Dict											=				initializer_range
         lowerCAmelCase__     :str											=				layer_norm_eps






class    _lowerCAmelCase  (	a			):
       """simple docstring"""




       __magic_name__	:int						    =   version.parse("""1.11"""			)






       @property
       def 	snake_case		(       self ):



         '''simple docstring'''

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






       @property
       def 	snake_case		(       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 	snake_case		(       self ):



         '''simple docstring'''

         return 1E-4







"""simple docstring"""





def 					__A  (_SCREAMING_SNAKE_CASE     )   ->str:





  """simple docstring"""


  lowerCAmelCase__     :List[Any]											=				int(_SCREAMING_SNAKE_CASE     )
  if decimal in (0, 1):  # Exit cases for the recursion
    return str(_SCREAMING_SNAKE_CASE     )
  lowerCAmelCase__				,							lowerCAmelCase__     :int											=				divmod(_SCREAMING_SNAKE_CASE	,  2     )
  return binary_recursive(_SCREAMING_SNAKE_CASE     ) + str(_SCREAMING_SNAKE_CASE     )
def 					__A  (_SCREAMING_SNAKE_CASE     )   ->str:





  """simple docstring"""


  lowerCAmelCase__     :str											=				str(_SCREAMING_SNAKE_CASE     ).strip()
  if not number:
    raise ValueError('No input value was provided'     )
  lowerCAmelCase__     :Dict											=				'-' if number.startswith('-'     ) else ''
  lowerCAmelCase__     :int											=				number.lstrip('-'     )
  if not number.isnumeric():
    raise ValueError('Input value is not an integer'     )
  return F"{negative}0b{binary_recursive(int(_SCREAMING_SNAKE_CASE     )     )}"


if __name__ == "__main__":
  from doctest import testmod

  testmod()
