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


_lowercase							   =				logging.get_logger(__name__)

_lowercase							   =				{
    '''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_				(      _lowercase    ):



						'''simple docstring'''


						_lowerCamelCase:    List[str]      =    '''mobilenet_v1'''


						def __init__( self     :      str  ,A_     :      Optional[Any]=3  ,A_     :      int=224  ,A_     :      int=1.0  ,A_     :      Optional[Any]=8  ,A_     :      int="relu6"  ,A_     :      Any=True  ,A_     :      str=0.9_99  ,A_     :      Union[str, Any]=0.02  ,A_     :      List[Any]=0.0_01  ,**A_     :      Tuple  ,)     ->   int:
							super().__init__(**A_      )

							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 				lowerCAmelCase_				(      _lowercase    ):



						'''simple docstring'''


						_lowerCamelCase:    Any      =    version.parse('''1.11'''    )


						@property
						def 						_SCREAMING_SNAKE_CASE      ( self     :      Optional[Any]      )     ->   Mapping[str, Mapping[int, str]]:
							return OrderedDict([('pixel_values', {0: 'batch'})]      )


						@property
						def 						_SCREAMING_SNAKE_CASE      ( self     :      int      )     ->   Mapping[str, Mapping[int, str]]:
							if self.task == "image-classification":
								return OrderedDict([('logits', {0: 'batch'})]      )
							else:
								return OrderedDict([('last_hidden_state', {0: 'batch'}), ('pooler_output', {0: 'batch'})]      )




						@property
						def 						_SCREAMING_SNAKE_CASE      ( self     :      Optional[Any]      )     ->   float:
							return 1e-4

"""simple docstring"""


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tokenizers_available,
    is_torch_available,
    is_vision_available,
)


_lowercase							   =				{
    '''configuration_perceiver''': ['''PERCEIVER_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''PerceiverConfig''', '''PerceiverOnnxConfig'''],
    '''tokenization_perceiver''': ['''PerceiverTokenizer'''],
}

try:
		if not is_vision_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		_lowercase							   =				['''PerceiverFeatureExtractor''']
		_lowercase							   =				['''PerceiverImageProcessor''']

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		_lowercase							   =				[
		    '''PERCEIVER_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''PerceiverForImageClassificationConvProcessing''',
		    '''PerceiverForImageClassificationFourier''',
		    '''PerceiverForImageClassificationLearned''',
		    '''PerceiverForMaskedLM''',
		    '''PerceiverForMultimodalAutoencoding''',
		    '''PerceiverForOpticalFlow''',
		    '''PerceiverForSequenceClassification''',
		    '''PerceiverLayer''',
		    '''PerceiverModel''',
		    '''PerceiverPreTrainedModel''',
		]


if TYPE_CHECKING:
		from .configuration_perceiver import PERCEIVER_PRETRAINED_CONFIG_ARCHIVE_MAP, PerceiverConfig, PerceiverOnnxConfig
		from .tokenization_perceiver import PerceiverTokenizer

		try:
				if not is_vision_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .feature_extraction_perceiver import PerceiverFeatureExtractor
				from .image_processing_perceiver import PerceiverImageProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_perceiver import (
				    PERCEIVER_PRETRAINED_MODEL_ARCHIVE_LIST,
				    PerceiverForImageClassificationConvProcessing,
				    PerceiverForImageClassificationFourier,
				    PerceiverForImageClassificationLearned,
				    PerceiverForMaskedLM,
				    PerceiverForMultimodalAutoencoding,
				    PerceiverForOpticalFlow,
				    PerceiverForSequenceClassification,
				    PerceiverLayer,
				    PerceiverModel,
				    PerceiverPreTrainedModel,
				)

else:
		import sys

		_lowercase							   =				_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)