code: 
  
  
  
  
  """simple docstring"""
  
  
  
  import copy
  from typing import Dict
  
  from ...configuration_utils import PretrainedConfig
  from ...utils import logging
  from ..auto.configuration_auto import CONFIG_MAPPING
  from ..bit import BitConfig
  
  
  SCREAMING_SNAKE_CASE       = logging.get_logger(__name__)
  
  SCREAMING_SNAKE_CASE       = {
      '''google/vit-hybrid-base-bit-384''': '''https://huggingface.co/vit-hybrid-base-bit-384/resolve/main/config.json''',
      # See all ViT hybrid models at https://huggingface.co/models?filter=vit
  }
  
  
  
  
  class 			UpperCAmelCase_						(		UpperCamelCase_							):
  
      '''simple docstring'''
  
  
  
  
  
      lowercase__		      =   """vit-hybrid"""
  
  
  
  
      def __init__(					self		: Tuple			,				snake_case_		: Any=None			,				snake_case_		: Union[str, Any]=768			,				snake_case_		: Optional[Any]=12			,				snake_case_		: str=12			,				snake_case_		: Tuple=3_072			,				snake_case_		: Union[str, Any]="gelu"			,				snake_case_		: Union[str, Any]=0.0			,				snake_case_		: str=0.0			,				snake_case_		: Optional[Any]=0.02			,				snake_case_		: List[str]=1e-12			,				snake_case_		: Union[str, Any]=224			,				snake_case_		: Any=1			,				snake_case_		: int=3			,				snake_case_		: Union[str, Any]=[1, 1_024, 24, 24]			,				snake_case_		: Tuple=True			,				**snake_case_		: Dict			,				)   ->							Tuple:
  
  
  
  
       '''simple docstring'''
  
       super().__init__(**__SCREAMING_SNAKE_CASE   )
  
       if backbone_config is None:
        logger.info("`backbone_config` is `None`. Initializing the config with a `BiT` backbone."   )
        A__ =       {
            "global_padding": "same",
            "layer_type": "bottleneck",
            "depths": [3, 4, 9],
            "out_features": ["stage3"],
            "embedding_dynamic_padding": True,
        }
  
       if isinstance(__SCREAMING_SNAKE_CASE			,				__SCREAMING_SNAKE_CASE   ):
        if "model_type" in backbone_config:
         A__ =       CONFIG_MAPPING[backbone_config["model_type"]]
        else:
         logger.info(
             "`model_type` is not found in `backbone_config`. Use `Bit` as the backbone configuration class."   )
         A__ =       BitConfig
        A__ =       backbone_config_class(**__SCREAMING_SNAKE_CASE   )
  
       A__ =       backbone_featmap_shape
       A__ =       backbone_config
       A__ =       hidden_size
       A__ =       num_hidden_layers
       A__ =       num_attention_heads
       A__ =       intermediate_size
       A__ =       hidden_act
       A__ =       hidden_dropout_prob
       A__ =       attention_probs_dropout_prob
       A__ =       initializer_range
       A__ =       layer_norm_eps
       A__ =       image_size
       A__ =       patch_size
       A__ =       num_channels
       A__ =       qkv_bias
  
  
  
  
      def 							__magic_name__							(					self		: Optional[int]   )   ->							Dict[str, any]:
  
  
  
  
       '''simple docstring'''
  
       A__ =       copy.deepcopy(self.__dict__   )
       A__ =       self.backbone_config.to_dict()
       A__ =       self.__class__.model_type
       return output
  
  
  
  
  
  
style_context: 
  
  
  
  
  """simple docstring"""
  
  
  
  from typing import TYPE_CHECKING
  
  from ...utils import _LazyModule
  
  
  SCREAMING_SNAKE_CASE       = {"tokenization_bert_japanese": ["BertJapaneseTokenizer", "CharacterTokenizer", "MecabTokenizer"]}
  
  
  if TYPE_CHECKING:
        from .tokenization_bert_japanese import BertJapaneseTokenizer, CharacterTokenizer, MecabTokenizer
  
  else:
        import sys
  
        SCREAMING_SNAKE_CASE       = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
  
  
  
  
  
  