'''simple docstring'''




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


__lowercase          =  logging.get_logger(__name__)

__lowercase          =  {
    '''transfo-xl-wt103''': '''https://huggingface.co/transfo-xl-wt103/resolve/main/config.json''',
}






class 				a__(					lowerCAmelCase__	):


			'''simple docstring'''






			UpperCAmelCase_			:     List[str]      =       '''transfo-xl'''
			UpperCAmelCase_			:     Any      =       ['''mems''']
			UpperCAmelCase_			:     List[Any]      =       {
			    '''n_token''': '''vocab_size''',
			    '''hidden_size''': '''d_model''',
			    '''num_attention_heads''': '''n_head''',
			    '''num_hidden_layers''': '''n_layer''',
			}



			def __init__(   self       ,    __lowerCAmelCase=267735       ,    __lowerCAmelCase=[20000, 40000, 200000]       ,    __lowerCAmelCase=1024       ,    __lowerCAmelCase=1024       ,    __lowerCAmelCase=16       ,    __lowerCAmelCase=64       ,    __lowerCAmelCase=4096       ,    __lowerCAmelCase=4       ,    __lowerCAmelCase=False       ,    __lowerCAmelCase=18       ,    __lowerCAmelCase=1600       ,    __lowerCAmelCase=1000       ,    __lowerCAmelCase=True       ,    __lowerCAmelCase=True       ,    __lowerCAmelCase=0       ,    __lowerCAmelCase=-1       ,    __lowerCAmelCase=True       ,    __lowerCAmelCase=0.1       ,    __lowerCAmelCase=0.0       ,    __lowerCAmelCase=True       ,    __lowerCAmelCase="normal"       ,    __lowerCAmelCase=0.01       ,    __lowerCAmelCase=0.01       ,    __lowerCAmelCase=0.02       ,    __lowerCAmelCase=1E-5       ,    __lowerCAmelCase=0       ,    **__lowerCAmelCase       ,    ):




					"""simple docstring"""


					lowerCAmelCase   					=  vocab_size
					lowerCAmelCase   					=  []
					self.cutoffs.extend(__lowerCAmelCase)
					if proj_share_all_but_first:
							lowerCAmelCase   					=  [False] + [True] * len(self.cutoffs)
					else:
							lowerCAmelCase   					=  [False] + [False] * len(self.cutoffs)
					lowerCAmelCase   					=  d_model
					lowerCAmelCase   					=  d_embed
					lowerCAmelCase   					=  d_head
					lowerCAmelCase   					=  d_inner
					lowerCAmelCase   					=  div_val
					lowerCAmelCase   					=  pre_lnorm
					lowerCAmelCase   					=  n_layer
					lowerCAmelCase   					=  n_head
					lowerCAmelCase   					=  mem_len
					lowerCAmelCase   					=  same_length
					lowerCAmelCase   					=  attn_type
					lowerCAmelCase   					=  clamp_len
					lowerCAmelCase   					=  sample_softmax
					lowerCAmelCase   					=  adaptive
					lowerCAmelCase   					=  dropout
					lowerCAmelCase   					=  dropatt
					lowerCAmelCase   					=  untie_r
					lowerCAmelCase   					=  init
					lowerCAmelCase   					=  init_range
					lowerCAmelCase   					=  proj_init_std
					lowerCAmelCase   					=  init_std
					lowerCAmelCase   					=  layer_norm_epsilon
					super().__init__(eos_token_id=__lowerCAmelCase       ,    **__lowerCAmelCase)



			@property
			def 							a_       (   self):




					"""simple docstring"""


					logger.info(f"The model {self.model_type} is one of the few models that has no sequence length limit.")
					return -1







			@max_position_embeddings.setter
			def 							a_       (   self       ,    __lowerCAmelCase):




					"""simple docstring"""


					raise NotImplementedError(
					    f"The model {self.model_type} is one of the few models that has no sequence length limit.")





'''simple docstring'''




from string import ascii_lowercase, ascii_uppercase






def 				snake_case__							(			_A:					str )    ->	str:

		'''simple docstring'''


		if not sentence:
				return ""
		lowerCAmelCase   					=  dict(zip(_A      ,   _A ) )
		return lower_to_upper.get(sentence[0]      ,   sentence[0] ) + sentence[1:]


if __name__ == "__main__":
						from doctest import testmod

						testmod()




