

'''simple docstring'''






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


lowerCAmelCase__      		=			logging.get_logger(__name__)

lowerCAmelCase__      		=			{
    # See all MEGATRON_BERT models at https://huggingface.co/models?filter=bert
}






class     lowercase_			(lowerCamelCase__   ):




  """simple docstring"""




  SCREAMING_SNAKE_CASE					:						Optional[Any]           =    'megatron-bert'






  def __init__(   self     :  Tuple      ,lowercase__     :  str=2_9_0_5_6      ,lowercase__     :  Dict=1_0_2_4      ,lowercase__     :  Any=2_4      ,lowercase__     :  Optional[int]=1_6      ,lowercase__     :  Any=4_0_9_6      ,lowercase__     :  int="gelu"      ,lowercase__     :  Optional[Any]=0.1      ,lowercase__     :  List[Any]=0.1      ,lowercase__     :  str=5_1_2      ,lowercase__     :  Any=2      ,lowercase__     :  Tuple=0.0_2      ,lowercase__     :  Dict=1e-1_2      ,lowercase__     :  Any=0      ,lowercase__     :  List[Any]="absolute"      ,lowercase__     :  Optional[Any]=True      ,**lowercase__     :  Any      ,):
   super().__init__(pad_token_id=lowercase__      ,**lowercase__    )

   __lowercase													=				vocab_size
   __lowercase													=				hidden_size
   __lowercase													=				num_hidden_layers
   __lowercase													=				num_attention_heads
   __lowercase													=				hidden_act
   __lowercase													=				intermediate_size
   __lowercase													=				hidden_dropout_prob
   __lowercase													=				attention_probs_dropout_prob
   __lowercase													=				max_position_embeddings
   __lowercase													=				type_vocab_size
   __lowercase													=				initializer_range
   __lowercase													=				layer_norm_eps
   __lowercase													=				position_embedding_type
   __lowercase													=				use_cache




'''simple docstring'''






from argparse import ArgumentParser

from . import BaseTransformersCLICommand


def 	_A  (					A__   ):






 """simple docstring"""



 return DownloadCommand(args.model  ,       args.cache_dir  ,       args.force  ,       args.trust_remote_code   )






class     lowercase_			(lowerCamelCase__   ):




  """simple docstring"""




  @staticmethod
  def       SCREAMING_SNAKE_CASE   (   lowercase__     :  ArgumentParser    ):
   __lowercase													=				parser.add_parser('''download'''    )
   download_parser.add_argument(
       '''--cache-dir'''      ,type=lowercase__      ,default=lowercase__      ,help='''Path to location to store the models'''    )
   download_parser.add_argument(
       '''--force'''      ,action='''store_true'''      ,help='''Force the model to be download even if already in cache-dir'''    )
   download_parser.add_argument(
       '''--trust-remote-code'''      ,action='''store_true'''      ,help='''Whether or not to allow for custom models defined on the Hub in their own modeling files. Use only if you\'ve reviewed the code as it will execute on your local machine'''      ,)
   download_parser.add_argument('''model'''      ,type=lowercase__      ,help='''Name of the model to download'''    )
   download_parser.set_defaults(func=lowercase__    )






  def __init__(   self     :  str      ,lowercase__     :  str      ,lowercase__     :  str      ,lowercase__     :  bool      ,lowercase__     :  bool    ):
   __lowercase													=				model
   __lowercase													=				cache
   __lowercase													=				force
   __lowercase													=				trust_remote_code






  def       SCREAMING_SNAKE_CASE   (   self     :  Any    ):
   from ..models.auto import AutoModel, AutoTokenizer

   AutoModel.from_pretrained(
       self._model      ,cache_dir=self._cache      ,force_download=self._force      ,trust_remote_code=self._trust_remote_code    )
   AutoTokenizer.from_pretrained(
       self._model      ,cache_dir=self._cache      ,force_download=self._force      ,trust_remote_code=self._trust_remote_code    )

