





from typing import List

from ...configuration_utils import PretrainedConfig
from ...utils import logging


_snake_case           =							logging.get_logger(__name__)

_snake_case           =							{
    """snap-research/efficientformer-l1-300""": (
        """https://huggingface.co/snap-research/efficientformer-l1-300/resolve/main/config.json"""
    ),
}





class  lowerCAmelCase							(       lowercase_ ):
  __lowerCamelCase		=      'efficientformer'







  def __init__(      self  :int   ,							_lowercase  :List[int] = [3, 2, 6, 4]   ,							_lowercase  :List[int] = [48, 96, 2_24, 4_48]   ,							_lowercase  :List[bool] = [True, True, True, True]   ,							_lowercase  :int = 4_48   ,							_lowercase  :int = 32   ,							_lowercase  :int = 4   ,							_lowercase  :int = 7   ,							_lowercase  :int = 5   ,							_lowercase  :int = 8   ,							_lowercase  :int = 4   ,							_lowercase  :float = 0.0   ,							_lowercase  :int = 16   ,							_lowercase  :int = 3   ,							_lowercase  :int = 3   ,							_lowercase  :int = 3   ,							_lowercase  :int = 2   ,							_lowercase  :int = 1   ,							_lowercase  :float = 0.0   ,							_lowercase  :int = 1   ,							_lowercase  :bool = True   ,							_lowercase  :bool = True   ,							_lowercase  :float = 1e-5   ,							_lowercase  :str = "gelu"   ,							_lowercase  :float = 0.02   ,							_lowercase  :float = 1e-12   ,							_lowercase  :int = 2_24   ,							_lowercase  :float = 1e-05   ,							**_lowercase  :List[str]   ,							):






     '''simple docstring'''





     super().__init__(**_lowercase )

     lowercase__			       =  hidden_act
     lowercase__			       =  hidden_dropout_prob
     lowercase__			       =  hidden_sizes
     lowercase__			       =  num_hidden_layers
     lowercase__			       =  num_attention_heads
     lowercase__			       =  initializer_range
     lowercase__			       =  layer_norm_eps
     lowercase__			       =  patch_size
     lowercase__			       =  num_channels
     lowercase__			       =  depths
     lowercase__			       =  mlp_expansion_ratio
     lowercase__			       =  downsamples
     lowercase__			       =  dim
     lowercase__			       =  key_dim
     lowercase__			       =  attention_ratio
     lowercase__			       =  resolution
     lowercase__			       =  pool_size
     lowercase__			       =  downsample_patch_size
     lowercase__			       =  downsample_stride
     lowercase__			       =  downsample_pad
     lowercase__			       =  drop_path_rate
     lowercase__			       =  num_metaad_blocks
     lowercase__			       =  distillation
     lowercase__			       =  use_layer_scale
     lowercase__			       =  layer_scale_init_value
     lowercase__			       =  image_size
     lowercase__			       =  batch_norm_eps













def _A       (   __magic_name__  , __magic_name__  , __magic_name__  , __magic_name__	):
   if height >= 1:
      move_tower(height - 1  , __magic_name__  , __magic_name__  , __magic_name__	)
      move_disk(__magic_name__  , __magic_name__	)
      move_tower(height - 1  , __magic_name__  , __magic_name__  , __magic_name__	)


def _A       (   __magic_name__  , __magic_name__	):
   print("moving disk from"  , __magic_name__  , "to"  , __magic_name__	)


def _A       (   ):
   lowercase__			       =  int(input("Height of hanoi: "	).strip()	)
   move_tower(__magic_name__  , "A"  , "B"  , "C"	)


if __name__ == "__main__":
  main()






