
from typing import TYPE_CHECKING

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


UpperCAmelCase__	:  Union[str, Any]      =   {
    'configuration_mobilenet_v1': [
        'MOBILENET_V1_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'MobileNetV1Config',
        'MobileNetV1OnnxConfig',
    ],
}

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase__	:  Dict      =   ['MobileNetV1FeatureExtractor']
   UpperCAmelCase__	:  Union[str, Any]      =   ['MobileNetV1ImageProcessor']

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase__	:  Optional[Any]      =   [
       'MOBILENET_V1_PRETRAINED_MODEL_ARCHIVE_LIST',
       'MobileNetV1ForImageClassification',
       'MobileNetV1Model',
       'MobileNetV1PreTrainedModel',
       'load_tf_weights_in_mobilenet_v1',
   ]


if TYPE_CHECKING:
   from .configuration_mobilenet_va import (
       MOBILENET_V1_PRETRAINED_CONFIG_ARCHIVE_MAP,
       MobileNetVaConfig,
       MobileNetVaOnnxConfig,
   )

   try:
      if not is_vision_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .feature_extraction_mobilenet_va import MobileNetVaFeatureExtractor
      from .image_processing_mobilenet_va import MobileNetVaImageProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_mobilenet_va import (
          MOBILENET_V1_PRETRAINED_MODEL_ARCHIVE_LIST,
          MobileNetVaForImageClassification,
          MobileNetVaModel,
          MobileNetVaPreTrainedModel,
          load_tf_weights_in_mobilenet_va,
      )


else:
   import sys

   UpperCAmelCase__	:  Dict      =   _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)





import pytest

from datasets.utils.version import Version






@pytest.mark.parametrize(
    '''other, expected_equality'''	,	[
        (Version('''1.0.0'''   ), True),
        ('''1.0.0''', True),
        (Version('''2.0.0'''   ), False),
        ('''2.0.0''', False),
        ('''1''', False),
        ('''a''', False),
        (1, False),
        (None, False),
    ]	,	)
def 						lowerCamelCase__							(      a	,	a   )   ->     str:
   _A:						Tuple	    = Version('''1.0.0'''   )
   assert (version == other) is expected_equality
   assert (version != other) is not expected_equality
   assert (hash(a   ) == hash(a   )) is expected_equality



