





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


_lowerCamelCase   				=			logging.get_logger(__name__)

_lowerCamelCase   				=			{
    '''facebook/xglm-564M''': '''https://huggingface.co/facebook/xglm-564M/resolve/main/config.json''',
    # See all XGLM models at https://huggingface.co/models?filter=xglm
}




class   UpperCamelCase_       (     UpperCAmelCase__    ):
							lowerCamelCase_           =					"xglm"
							lowerCamelCase_           =					["past_key_values"]

							lowerCamelCase_           =					{
							    "num_attention_heads": "attention_heads",
							    "hidden_size": "d_model",
							    "num_hidden_layers": "num_layers",
							}


							def __init__(							self    :Dict							,				__A    :Any=25_6008							,				__A    :Optional[int]=2048							,				__A    :Optional[Any]=1024							,				__A    :Optional[int]=4096							,				__A    :int=24							,				__A    :Any=16							,				__A    :List[Any]="gelu"							,				__A    :Optional[int]=0.1							,				__A    :List[Any]=0.1							,				__A    :List[Any]=0.0							,				__A    :Any=0.0							,				__A    :List[str]=0.0_2							,				__A    :Tuple=True							,				__A    :Optional[int]=True							,				__A    :int=2							,				__A    :Any=1							,				__A    :Optional[Any]=0							,				__A    :Dict=2							,				**__A    :List[Any]							,				)   ->   Any:



									"""simple docstring"""



									SCREAMING_SNAKE_CASE__			=      vocab_size
									SCREAMING_SNAKE_CASE__			=      max_position_embeddings
									SCREAMING_SNAKE_CASE__			=      d_model
									SCREAMING_SNAKE_CASE__			=      ffn_dim
									SCREAMING_SNAKE_CASE__			=      num_layers
									SCREAMING_SNAKE_CASE__			=      attention_heads
									SCREAMING_SNAKE_CASE__			=      activation_function
									SCREAMING_SNAKE_CASE__			=      dropout
									SCREAMING_SNAKE_CASE__			=      attention_dropout
									SCREAMING_SNAKE_CASE__			=      activation_dropout
									SCREAMING_SNAKE_CASE__			=      layerdrop
									SCREAMING_SNAKE_CASE__			=      init_std
									SCREAMING_SNAKE_CASE__			=      scale_embedding  # scale factor will be sqrt(d_model) if True
									SCREAMING_SNAKE_CASE__			=      use_cache

									super().__init__(
									    pad_token_id=__lowerCAmelCase							,				bos_token_id=__lowerCAmelCase							,				eos_token_id=__lowerCAmelCase							,				decoder_start_token_id=__lowerCAmelCase							,				**__lowerCAmelCase							,				)






import warnings
from functools import wraps
from typing import Callable






def 				SCREAMING_SNAKE_CASE__							(       UpperCamelCase__:							Callable    ):

		@wraps(UpperCamelCase__    )
		def _inner_fn(*UpperCamelCase__:							Dict					,   **UpperCamelCase__:							Any    ):
				warnings.warn(
				    (f'''\'{fn.__name__}\' is experimental and might be subject to breaking changes in the future.''')					,   UpperCamelCase__					,   )
				return fn(*UpperCamelCase__					,   **UpperCamelCase__    )

		return _inner_fn