


"""simple docstring"""




from collections import OrderedDict
from typing import List, 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/efficientnet-b7": "https://huggingface.co/google/efficientnet-b7/resolve/main/config.json",
}
class 					__lowerCAmelCase					(   __SCREAMING_SNAKE_CASE       ):


		'''simple docstring'''



		__UpperCAmelCase		:			Any										=				'efficientnet'

		def __init__(  self							, _a = 3							, _a = 600							, _a = 2.0							, _a = 3.1							, _a = 8							, _a = [3, 3, 5, 3, 5, 5, 3]							, _a = [32, 16, 24, 40, 80, 112, 192]							, _a = [16, 24, 40, 80, 112, 192, 320]							, _a = []							, _a = [1, 2, 2, 2, 1, 2, 1]							, _a = [1, 2, 2, 3, 3, 4, 1]							, _a = [1, 6, 6, 6, 6, 6, 6]							, _a = 0.25							, _a = "swish"							, _a = 2_560							, _a = "mean"							, _a = 0.02							, _a = 0.001							, _a = 0.99							, _a = 0.5							, _a = 0.2							, **_a							, ):
				super().__init__(**_a      )

				__a           =			num_channels
				__a           =			image_size
				__a           =			width_coefficient
				__a           =			depth_coefficient
				__a           =			depth_divisor
				__a           =			kernel_sizes
				__a           =			in_channels
				__a           =			out_channels
				__a           =			depthwise_padding
				__a           =			strides
				__a           =			num_block_repeats
				__a           =			expand_ratios
				__a           =			squeeze_expansion_ratio
				__a           =			hidden_act
				__a           =			hidden_dim
				__a           =			pooling_type
				__a           =			initializer_range
				__a           =			batch_norm_eps
				__a           =			batch_norm_momentum
				__a           =			dropout_rate
				__a           =			drop_connect_rate
				__a           =			sum(_a      ) * 4







class 					__lowerCAmelCase					(   __SCREAMING_SNAKE_CASE       ):


		'''simple docstring'''



		__UpperCAmelCase		:			Optional[int]										=				version.parse('1.11'       )

		@property
		def 			__UpperCAmelCase       (  self      ):
				return OrderedDict(
				    [
				        ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
				    ]      )





		@property
		def 			__UpperCAmelCase       (  self      ):
				return 1E-5










"""simple docstring"""




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


lowercase_			     =  {
    "configuration_roformer": ["ROFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "RoFormerConfig", "RoFormerOnnxConfig"],
    "tokenization_roformer": ["RoFormerTokenizer"],
}

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			     =  ["RoFormerTokenizerFast"]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			     =  [
				    "ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "RoFormerForCausalLM",
				    "RoFormerForMaskedLM",
				    "RoFormerForMultipleChoice",
				    "RoFormerForQuestionAnswering",
				    "RoFormerForSequenceClassification",
				    "RoFormerForTokenClassification",
				    "RoFormerLayer",
				    "RoFormerModel",
				    "RoFormerPreTrainedModel",
				    "load_tf_weights_in_roformer",
				]


try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			     =  [
				    "TF_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "TFRoFormerForCausalLM",
				    "TFRoFormerForMaskedLM",
				    "TFRoFormerForMultipleChoice",
				    "TFRoFormerForQuestionAnswering",
				    "TFRoFormerForSequenceClassification",
				    "TFRoFormerForTokenClassification",
				    "TFRoFormerLayer",
				    "TFRoFormerModel",
				    "TFRoFormerPreTrainedModel",
				]


try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			     =  [
				    "FLAX_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "FlaxRoFormerForMaskedLM",
				    "FlaxRoFormerForMultipleChoice",
				    "FlaxRoFormerForQuestionAnswering",
				    "FlaxRoFormerForSequenceClassification",
				    "FlaxRoFormerForTokenClassification",
				    "FlaxRoFormerModel",
				    "FlaxRoFormerPreTrainedModel",
				]


if TYPE_CHECKING:
				from .configuration_roformer import ROFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, RoFormerConfig, RoFormerOnnxConfig
				from .tokenization_roformer import RoFormerTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_roformer_fast import RoFormerTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_roformer import (
								    ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
								    RoFormerForCausalLM,
								    RoFormerForMaskedLM,
								    RoFormerForMultipleChoice,
								    RoFormerForQuestionAnswering,
								    RoFormerForSequenceClassification,
								    RoFormerForTokenClassification,
								    RoFormerLayer,
								    RoFormerModel,
								    RoFormerPreTrainedModel,
								    load_tf_weights_in_roformer,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_roformer import (
								    TF_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFRoFormerForCausalLM,
								    TFRoFormerForMaskedLM,
								    TFRoFormerForMultipleChoice,
								    TFRoFormerForQuestionAnswering,
								    TFRoFormerForSequenceClassification,
								    TFRoFormerForTokenClassification,
								    TFRoFormerLayer,
								    TFRoFormerModel,
								    TFRoFormerPreTrainedModel,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_roformer import (
								    FLAX_ROFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
								    FlaxRoFormerForMaskedLM,
								    FlaxRoFormerForMultipleChoice,
								    FlaxRoFormerForQuestionAnswering,
								    FlaxRoFormerForSequenceClassification,
								    FlaxRoFormerForTokenClassification,
								    FlaxRoFormerModel,
								    FlaxRoFormerPreTrainedModel,
								)


else:
				import sys

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






