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


lowerCAmelCase__						:						str		  =			logging.get_logger(__name__)

lowerCAmelCase__						:						Tuple		  =			{
    '''google/efficientnet-b7''': '''https://huggingface.co/google/efficientnet-b7/resolve/main/config.json''',
}
class        snake_case (	__UpperCAmelCase       ):




					"""simple docstring"""

					snake_case__       					=				'''efficientnet'''







					def __init__(       self     :			str					,lowerCamelCase__     :			int = 3					,lowerCamelCase__     :			int = 600					,lowerCamelCase__     :			float = 2.0					,lowerCamelCase__     :			float = 3.1					,lowerCamelCase__     :			int = 8					,lowerCamelCase__     :			List[int] = [3, 3, 5, 3, 5, 5, 3]					,lowerCamelCase__     :			List[int] = [32, 16, 24, 40, 80, 112, 192]					,lowerCamelCase__     :			List[int] = [16, 24, 40, 80, 112, 192, 320]					,lowerCamelCase__     :			List[int] = []					,lowerCamelCase__     :			List[int] = [1, 2, 2, 2, 1, 2, 1]					,lowerCamelCase__     :			List[int] = [1, 2, 2, 3, 3, 4, 1]					,lowerCamelCase__     :			List[int] = [1, 6, 6, 6, 6, 6, 6]					,lowerCamelCase__     :			float = 0.2_5					,lowerCamelCase__     :			str = "swish"					,lowerCamelCase__     :			int = 2_560					,lowerCamelCase__     :			str = "mean"					,lowerCamelCase__     :			float = 0.0_2					,lowerCamelCase__     :			float = 0.0_0_1					,lowerCamelCase__     :			float = 0.9_9					,lowerCamelCase__     :			float = 0.5					,lowerCamelCase__     :			float = 0.2					,**lowerCamelCase__     :			Any					,):
									super().__init__(**__SCREAMING_SNAKE_CASE    )

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






class        snake_case (	__UpperCAmelCase       ):




					"""simple docstring"""

					snake_case__       					=				version.parse("1.11"       )







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







					@property
					def 	__lowerCAmelCase		(       self     :			Optional[int]    ):
									return 1e-5




"""simple docstring"""






def 						a_		(      lowerCamelCase      ,    lowerCamelCase ):
				return x if y == 0 else greatest_common_divisor(lowerCamelCase      ,    x % y )



def 						a_		(      lowerCamelCase      ,    lowerCamelCase ):
				return (x * y) // greatest_common_divisor(lowerCamelCase      ,    lowerCamelCase )



def 						a_		(      lowerCamelCase = 2_0 ):
				UpperCAmelCase__    =							1
				for i in range(1      ,    n + 1 ):
								UpperCAmelCase__    =							lcm(lowerCamelCase      ,    lowerCamelCase )
				return g


if __name__ == "__main__":
						print(F"""{solution() = }""")



