



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


__snake_case						:int      		=     logging.get_logger(__name__)

__snake_case						:Optional[Any]      		=     {
    '''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       (	__UpperCAmelCase    ):
       UpperCamelCase__  :    List[str]											=						'''mobilenet_v1'''



       def __init__(		self							:     int     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=3     ,		__SCREAMING_SNAKE_CASE							:     Tuple=224     ,		__SCREAMING_SNAKE_CASE							:     Any=1.0     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=8     ,		__SCREAMING_SNAKE_CASE							:     Dict="relu6"     ,		__SCREAMING_SNAKE_CASE							:     Optional[int]=True     ,		__SCREAMING_SNAKE_CASE							:     Any=0.9_99     ,		__SCREAMING_SNAKE_CASE							:     Optional[int]=0.02     ,		__SCREAMING_SNAKE_CASE							:     Dict=0.0_01     ,		**__SCREAMING_SNAKE_CASE							:     str     ,		):


           '''simple docstring'''

           super().__init__(**__SCREAMING_SNAKE_CASE)

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

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


class     _A       (	__UpperCAmelCase    ):
       UpperCamelCase__  :    List[str]											=						version.parse('''1.11'''    )



       @property
       def 		_lowerCamelCase			(		self							:     Union[str, Any]):


           '''simple docstring'''

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



       @property
       def 		_lowerCamelCase			(		self							:     List[str]):


           '''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							:     Dict):


           '''simple docstring'''

           return 1E-4












"""simple docstring"""





from typing import TYPE_CHECKING

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


__A											=		{
    """configuration_data2vec_audio""": ["""DATA2VEC_AUDIO_PRETRAINED_CONFIG_ARCHIVE_MAP""", """Data2VecAudioConfig"""],
    """configuration_data2vec_text""": [
        """DATA2VEC_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """Data2VecTextConfig""",
        """Data2VecTextOnnxConfig""",
    ],
    """configuration_data2vec_vision""": [
        """DATA2VEC_VISION_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """Data2VecVisionConfig""",
        """Data2VecVisionOnnxConfig""",
    ],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __A											=		[
      """DATA2VEC_AUDIO_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """Data2VecAudioForAudioFrameClassification""",
      """Data2VecAudioForCTC""",
      """Data2VecAudioForSequenceClassification""",
      """Data2VecAudioForXVector""",
      """Data2VecAudioModel""",
      """Data2VecAudioPreTrainedModel""",
  ]
  __A											=		[
      """DATA2VEC_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """Data2VecTextForCausalLM""",
      """Data2VecTextForMaskedLM""",
      """Data2VecTextForMultipleChoice""",
      """Data2VecTextForQuestionAnswering""",
      """Data2VecTextForSequenceClassification""",
      """Data2VecTextForTokenClassification""",
      """Data2VecTextModel""",
      """Data2VecTextPreTrainedModel""",
  ]
  __A											=		[
      """DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """Data2VecVisionForImageClassification""",
      """Data2VecVisionForMaskedImageModeling""",
      """Data2VecVisionForSemanticSegmentation""",
      """Data2VecVisionModel""",
      """Data2VecVisionPreTrainedModel""",
  ]

if is_tf_available():
  __A											=		[
      """TFData2VecVisionForImageClassification""",
      """TFData2VecVisionForSemanticSegmentation""",
      """TFData2VecVisionModel""",
      """TFData2VecVisionPreTrainedModel""",
  ]

if TYPE_CHECKING:
  from .configuration_dataavec_audio import DATA2VEC_AUDIO_PRETRAINED_CONFIG_ARCHIVE_MAP, DataaVecAudioConfig
  from .configuration_dataavec_text import (
      DATA2VEC_TEXT_PRETRAINED_CONFIG_ARCHIVE_MAP,
      DataaVecTextConfig,
      DataaVecTextOnnxConfig,
  )
  from .configuration_dataavec_vision import (
      DATA2VEC_VISION_PRETRAINED_CONFIG_ARCHIVE_MAP,
      DataaVecVisionConfig,
      DataaVecVisionOnnxConfig,
  )

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_dataavec_audio import (
        DATA2VEC_AUDIO_PRETRAINED_MODEL_ARCHIVE_LIST,
        DataaVecAudioForAudioFrameClassification,
        DataaVecAudioForCTC,
        DataaVecAudioForSequenceClassification,
        DataaVecAudioForXVector,
        DataaVecAudioModel,
        DataaVecAudioPreTrainedModel,
    )
    from .modeling_dataavec_text import (
        DATA2VEC_TEXT_PRETRAINED_MODEL_ARCHIVE_LIST,
        DataaVecTextForCausalLM,
        DataaVecTextForMaskedLM,
        DataaVecTextForMultipleChoice,
        DataaVecTextForQuestionAnswering,
        DataaVecTextForSequenceClassification,
        DataaVecTextForTokenClassification,
        DataaVecTextModel,
        DataaVecTextPreTrainedModel,
    )
    from .modeling_dataavec_vision import (
        DATA2VEC_VISION_PRETRAINED_MODEL_ARCHIVE_LIST,
        DataaVecVisionForImageClassification,
        DataaVecVisionForMaskedImageModeling,
        DataaVecVisionForSemanticSegmentation,
        DataaVecVisionModel,
        DataaVecVisionPreTrainedModel,
    )
  if is_tf_available():
    from .modeling_tf_dataavec_vision import (
        TFDataaVecVisionForImageClassification,
        TFDataaVecVisionForSemanticSegmentation,
        TFDataaVecVisionModel,
        TFDataaVecVisionPreTrainedModel,
    )

else:
  import sys

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