





from typing import TYPE_CHECKING

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


__lowerCamelCase			:	Any					    =	{
    """configuration_mobilenet_v2""": [
        """MOBILENET_V2_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """MobileNetV2Config""",
        """MobileNetV2OnnxConfig""",
    ],
}

try:
    if not is_vision_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    __lowerCamelCase			:	List[Any]					    =	["""MobileNetV2FeatureExtractor"""]
    __lowerCamelCase			:	Union[str, Any]					    =	["""MobileNetV2ImageProcessor"""]


try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    __lowerCamelCase			:	int					    =	[
        """MOBILENET_V2_PRETRAINED_MODEL_ARCHIVE_LIST""",
        """MobileNetV2ForImageClassification""",
        """MobileNetV2ForSemanticSegmentation""",
        """MobileNetV2Model""",
        """MobileNetV2PreTrainedModel""",
        """load_tf_weights_in_mobilenet_v2""",
    ]


if TYPE_CHECKING:
    from .configuration_mobilenet_va import (
        MOBILENET_V2_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_V2_PRETRAINED_MODEL_ARCHIVE_LIST,
            MobileNetVaForImageClassification,
            MobileNetVaForSemanticSegmentation,
            MobileNetVaModel,
            MobileNetVaPreTrainedModel,
            load_tf_weights_in_mobilenet_va,
        )


else:
    import sys

    __lowerCamelCase			:	Union[str, Any]					    =	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)







import json
import os
import tempfile

from transformers.testing_utils import check_json_file_has_correct_format



class    A__  :
      _UpperCAmelCase      :Union[str, Any]		       =  None





      def 			__UpperCamelCase(					self  ):
       '''simple docstring'''




       UpperCamelCase      :   int			      =  self.feature_extraction_class(**self.feat_extract_dict  )
       UpperCamelCase      :   Union[str, Any]			      =  json.loads(feat_extract.to_json_string()  )
       for key, value in self.feat_extract_dict.items():
        self.assertEqual(obj[key]			,				A_  )





      def 			__UpperCamelCase(					self  ):
       '''simple docstring'''




       UpperCamelCase      :   str			      =  self.feature_extraction_class(**self.feat_extract_dict  )

       with tempfile.TemporaryDirectory() as tmpdirname:
        UpperCamelCase      :   List[Any]			      =  os.path.join(A_			,				"feat_extract.json"  )
        feat_extract_first.to_json_file(A_  )
        UpperCamelCase      :   str			      =  self.feature_extraction_class.from_json_file(A_  )

       self.assertEqual(feat_extract_second.to_dict()			,				feat_extract_first.to_dict()  )





      def 			__UpperCamelCase(					self  ):
       '''simple docstring'''




       UpperCamelCase      :   Union[str, Any]			      =  self.feature_extraction_class(**self.feat_extract_dict  )

       with tempfile.TemporaryDirectory() as tmpdirname:
        UpperCamelCase      :   int			      =  feat_extract_first.save_pretrained(A_  )[0]
        check_json_file_has_correct_format(A_  )
        UpperCamelCase      :   Optional[Any]			      =  self.feature_extraction_class.from_pretrained(A_  )

       self.assertEqual(feat_extract_second.to_dict()			,				feat_extract_first.to_dict()  )





      def 			__UpperCamelCase(					self  ):
       '''simple docstring'''




       UpperCamelCase      :   Any			      =  self.feature_extraction_class()
       self.assertIsNotNone(A_  )
