






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


__a      :       Dict				  =   logging.get_logger(__name__)

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


class       __lowercase      (	lowercase_  ):







     '''simple docstring'''
     SCREAMING_SNAKE_CASE   						=				"efficientnet"




     def __init__(				self       :			Union[str, Any] ,	UpperCamelCase_       :			int = 3 ,	UpperCamelCase_       :			int = 600 ,	UpperCamelCase_       :			float = 2.0 ,	UpperCamelCase_       :			float = 3.1 ,	UpperCamelCase_       :			int = 8 ,	UpperCamelCase_       :			List[int] = [3, 3, 5, 3, 5, 5, 3] ,	UpperCamelCase_       :			List[int] = [32, 16, 24, 40, 80, 112, 192] ,	UpperCamelCase_       :			List[int] = [16, 24, 40, 80, 112, 192, 320] ,	UpperCamelCase_       :			List[int] = [] ,	UpperCamelCase_       :			List[int] = [1, 2, 2, 2, 1, 2, 1] ,	UpperCamelCase_       :			List[int] = [1, 2, 2, 3, 3, 4, 1] ,	UpperCamelCase_       :			List[int] = [1, 6, 6, 6, 6, 6, 6] ,	UpperCamelCase_       :			float = 0.25 ,	UpperCamelCase_       :			str = "swish" ,	UpperCamelCase_       :			int = 2_560 ,	UpperCamelCase_       :			str = "mean" ,	UpperCamelCase_       :			float = 0.02 ,	UpperCamelCase_       :			float = 0.001 ,	UpperCamelCase_       :			float = 0.99 ,	UpperCamelCase_       :			float = 0.5 ,	UpperCamelCase_       :			float = 0.2 ,	**UpperCamelCase_       :			Dict ,	):


         """simple docstring"""



         super().__init__(**UpperCamelCase_				)

         __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(UpperCamelCase_				) * 4


class       __lowercase      (	lowercase_  ):







     '''simple docstring'''
     SCREAMING_SNAKE_CASE   						=				version.parse("1.11"  )




     @property
     def 		lowerCAmelCase_     (				self       :			Optional[Any]				):


         """simple docstring"""



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





     @property
     def 		lowerCAmelCase_     (				self       :			List[str]				):


         """simple docstring"""



         return 1e-5












def 			_SCREAMING_SNAKE_CASE						( __lowercase   :			str = "The quick brown fox jumps over the lazy dog"			,				)						->      bool:





    """simple docstring"""

    __A         =	set()

    # Replace all the whitespace in our sentence
    __A         =	input_str.replace(""" """			,				""""""    )
    for alpha in input_str:
        if "a" <= alpha.lower() <= "z":
            frequency.add(alpha.lower()    )
    return len(__lowercase    ) == 2_6



def 			_SCREAMING_SNAKE_CASE						( __lowercase   :			str = "The quick brown fox jumps over the lazy dog"			,				)						->      bool:





    """simple docstring"""

    __A         =	[False] * 2_6
    for char in input_str:
        if char.islower():
            __A         =	True
        elif char.isupper():
            __A         =	True
    return all(__lowercase    )



def 			_SCREAMING_SNAKE_CASE						( __lowercase   :			str = "The quick brown fox jumps over the lazy dog"			,				)						->      bool:





    """simple docstring"""

    return len({char for char in input_str.lower() if char.isalpha()}    ) == 2_6



def 			_SCREAMING_SNAKE_CASE						( )						->      None:





    """simple docstring"""

    from timeit import timeit

    __A         =	"""from __main__ import is_pangram, is_pangram_faster, is_pangram_fastest"""
    print(timeit("""is_pangram()"""			,				setup=__lowercase    )    )
    print(timeit("""is_pangram_faster()"""			,				setup=__lowercase    )    )
    print(timeit("""is_pangram_fastest()"""			,				setup=__lowercase    )    )
    # 5.348480500048026, 2.6477354579837993, 1.8470395830227062
    # 5.036091582966037, 2.644472333951853,  1.8869528750656173


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  benchmark()




