

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


__snake_case			:     int										=      logging.get_logger(__name__)

__snake_case			:     Dict										=      {
    'google/efficientnet-b7': 'https://huggingface.co/google/efficientnet-b7/resolve/main/config.json',
}



class lowerCamelCase			(  lowercase_						):



			'''simple docstring'''






			__snake_case        =	'efficientnet'


			def __init__(				self	:						Optional[Any]		,      lowerCAmelCase_	:						int = 3		,      lowerCAmelCase_	:						int = 6_00		,      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, 1_12, 1_92]		,      lowerCAmelCase_	:						List[int] = [16, 24, 40, 80, 1_12, 1_92, 3_20]		,      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.25		,      lowerCAmelCase_	:						str = "swish"		,      lowerCAmelCase_	:						int = 25_60		,      lowerCAmelCase_	:						str = "mean"		,      lowerCAmelCase_	:						float = 0.02		,      lowerCAmelCase_	:						float = 0.001		,      lowerCAmelCase_	:						float = 0.99		,      lowerCAmelCase_	:						float = 0.5		,      lowerCAmelCase_	:						float = 0.2		,      **lowerCAmelCase_	:						Optional[int]		,      )      ->		Any:





									'''simple docstring'''
									super().__init__(**lowerCAmelCase_			)

									A__					:       Any     =num_channels
									A__					:       Optional[Any]     =image_size
									A__					:       int     =width_coefficient
									A__					:       str     =depth_coefficient
									A__					:       Union[str, Any]     =depth_divisor
									A__					:       Optional[Any]     =kernel_sizes
									A__					:       Any     =in_channels
									A__					:       Dict     =out_channels
									A__					:       Optional[int]     =depthwise_padding
									A__					:       Optional[int]     =strides
									A__					:       Union[str, Any]     =num_block_repeats
									A__					:       Dict     =expand_ratios
									A__					:       List[str]     =squeeze_expansion_ratio
									A__					:       Tuple     =hidden_act
									A__					:       Dict     =hidden_dim
									A__					:       List[Any]     =pooling_type
									A__					:       Dict     =initializer_range
									A__					:       List[Any]     =batch_norm_eps
									A__					:       str     =batch_norm_momentum
									A__					:       Optional[int]     =dropout_rate
									A__					:       Any     =drop_connect_rate
									A__					:       Optional[Any]     =sum(lowerCAmelCase_			) * 4



class lowerCamelCase			(  lowercase_						):



			'''simple docstring'''






			__snake_case        =	version.parse('1.11'						)


			@property
			def lowercase__						(				self	:						str			)      ->		Mapping[str, Mapping[int, str]]:





									'''simple docstring'''
									return OrderedDict(
									    [
									        ("""pixel_values""", {0: """batch""", 1: """num_channels""", 2: """height""", 3: """width"""}),
									    ]			)



			@property
			def lowercase__						(				self	:						Optional[int]			)      ->		float:





									'''simple docstring'''
									return 1e-5




'''simple docstring'''



from __future__ import annotations
def 						__lowerCamelCase	(       __snake_case					:		list[int]	)	->							bool:






						"""simple docstring"""





						return len(set(__snake_case	)	) == len(__snake_case	)


if __name__ == "__main__":
		import doctest

		doctest.testmod()

