

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


_UpperCAmelCase	:     Dict		       = logging.get_logger(__name__)

_UpperCAmelCase	:     Union[str, Any]		       = {
    """google/efficientnet-b7""": """https://huggingface.co/google/efficientnet-b7/resolve/main/config.json""",
}







class 				lowercase       ( lowercase_    ):
				__SCREAMING_SNAKE_CASE      :				int     =    '''efficientnet'''




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

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







class 				lowercase       ( lowercase_    ):
				__SCREAMING_SNAKE_CASE      :				Dict     =    version.parse('''1.11'''    )




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




				@property
				def 					a							(      self ):
											return 1e-5







def       __lowerCamelCase			(				UpperCamelCase__   ):







							'''simple docstring'''






							if not nums:  # Makes sure that the list is not empty
														raise ValueError('List is empty'   )

							snake_case_           =					sum(UpperCamelCase__   ) / len(UpperCamelCase__   )  # Calculate the average
							return sum(abs(x - average   ) for x in nums   ) / len(UpperCamelCase__   )


if __name__ == "__main__":
					import doctest

					doctest.testmod()




