
"""simple docstring"""



from packaging import version

from .import_utils import is_accelerate_available


if is_accelerate_available():
 import accelerate
def 					_UpperCAmelCase      ( __lowerCamelCase   :       List[str]		)     ->					Optional[int]:
  if not is_accelerate_available():
    return method
  _snake_case					     =       version.parse(accelerate.__version__		).base_version
  if version.parse(__lowerCamelCase		) < version.parse('''0.17.0'''		):
    return method

  def wrapper(self   :       Tuple ,					*__lowerCamelCase   :       Dict ,					**__lowerCamelCase   :       List[str]		):
    if hasattr(self ,					'''_hf_hook'''		) and hasattr(self._hf_hook ,					'''pre_forward'''		):
      self._hf_hook.pre_forward(self		)
    return method(self ,					*__lowerCamelCase ,					**__lowerCamelCase		)

  return wrapper





"""simple docstring"""



import logging

from transformers.configuration_utils import PretrainedConfig


UpperCAmelCase__          = logging.getLogger(__name__)

class       lowerCAmelCase__				(						A_	):
     __a						=					"""masked_bert"""







     def __init__(							self			:			Union[str, Any]    ,      _lowerCamelCase			:			Any=30522    ,      _lowerCamelCase			:			Union[str, Any]=768    ,      _lowerCamelCase			:			Tuple=12    ,      _lowerCamelCase			:			Any=12    ,      _lowerCamelCase			:			str=3072    ,      _lowerCamelCase			:			str="gelu"    ,      _lowerCamelCase			:			int=0.1    ,      _lowerCamelCase			:			Optional[int]=0.1    ,      _lowerCamelCase			:			Dict=512    ,      _lowerCamelCase			:			List[Any]=2    ,      _lowerCamelCase			:			int=0.0_2    ,      _lowerCamelCase			:			Union[str, Any]=1e-12    ,      _lowerCamelCase			:			Union[str, Any]=0    ,      _lowerCamelCase			:			List[str]="topK"    ,      _lowerCamelCase			:			Optional[Any]="constant"    ,      _lowerCamelCase			:			Optional[Any]=0.0    ,      **_lowerCamelCase			:			str    ,      ):
       super().__init__(pad_token_id=_lowerCamelCase    ,      **_lowerCamelCase			)

       _snake_case					     =       vocab_size
       _snake_case					     =       hidden_size
       _snake_case					     =       num_hidden_layers
       _snake_case					     =       num_attention_heads
       _snake_case					     =       hidden_act
       _snake_case					     =       intermediate_size
       _snake_case					     =       hidden_dropout_prob
       _snake_case					     =       attention_probs_dropout_prob
       _snake_case					     =       max_position_embeddings
       _snake_case					     =       type_vocab_size
       _snake_case					     =       initializer_range
       _snake_case					     =       layer_norm_eps
       _snake_case					     =       pruning_method
       _snake_case					     =       mask_init
       _snake_case					     =       mask_scale



