

"""simple docstring"""


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


__A		  =     logging.get_logger(__name__)

__A		  =     {
    "tiiuae/falcon-40b": "https://huggingface.co/tiiuae/falcon-40b/resolve/main/config.json",
    "tiiuae/falcon-7b": "https://huggingface.co/tiiuae/falcon-7b/resolve/main/config.json",
}





class        snake_case      (							__snake_case    ):
				SCREAMING_SNAKE_CASE_  : Any   =    "falcon"
				SCREAMING_SNAKE_CASE_  : List[str]   =    ["past_key_values"]

				def __init__(      self				:							List[Any]	,    UpperCamelCase__				:							List[Any]=6_5_0_2_4	,    UpperCamelCase__				:							int=4_5_4_4	,    UpperCamelCase__				:							List[str]=3_2	,    UpperCamelCase__				:							Any=7_1	,    UpperCamelCase__				:							List[str]=1e-5	,    UpperCamelCase__				:							Union[str, Any]=0.02	,    UpperCamelCase__				:							Dict=True	,    UpperCamelCase__				:							int=0.0	,    UpperCamelCase__				:							Optional[int]=0.0	,    UpperCamelCase__				:							Tuple=None	,    UpperCamelCase__				:							Optional[int]=False	,    UpperCamelCase__				:							Tuple=False	,    UpperCamelCase__				:							Tuple=True	,    UpperCamelCase__				:							str=True	,    UpperCamelCase__				:							List[str]=False	,    UpperCamelCase__				:							List[Any]=1_1	,    UpperCamelCase__				:							Any=1_1	,    **UpperCamelCase__				:							List[str]	,    )->  Union[str, Any]:



						'''simple docstring'''


						__lowerCAmelCase:			Tuple        =     vocab_size
						# Backward compatibility with n_embed kwarg
						__lowerCAmelCase:			int        =     kwargs.pop("n_embed"	,    _lowerCAmelCase)
						__lowerCAmelCase:			Dict        =     hidden_size if n_embed is None else n_embed
						__lowerCAmelCase:			List[Any]        =     num_hidden_layers
						__lowerCAmelCase:			str        =     num_attention_heads
						__lowerCAmelCase:			List[str]        =     layer_norm_epsilon
						__lowerCAmelCase:			Any        =     initializer_range
						__lowerCAmelCase:			Optional[int]        =     use_cache
						__lowerCAmelCase:			Union[str, Any]        =     hidden_dropout
						__lowerCAmelCase:			Tuple        =     attention_dropout

						__lowerCAmelCase:			List[str]        =     bos_token_id
						__lowerCAmelCase:			Dict        =     eos_token_id
						__lowerCAmelCase:			Any        =     num_attention_heads if num_kv_heads is None else num_kv_heads
						__lowerCAmelCase:			Union[str, Any]        =     alibi
						__lowerCAmelCase:			Union[str, Any]        =     new_decoder_architecture
						__lowerCAmelCase:			str        =     multi_query  # Ignored when new_decoder_architecture is True
						__lowerCAmelCase:			Tuple        =     parallel_attn
						__lowerCAmelCase:			Tuple        =     bias

						super().__init__(bos_token_id=_lowerCAmelCase	,    eos_token_id=_lowerCAmelCase	,    **_lowerCAmelCase)

				@property
				def 				lowercase_	(      self				:							List[Any])->  Optional[Any]:



						'''simple docstring'''


						return self.hidden_size // self.num_attention_heads




				@property
				def 				lowercase_	(      self				:							int)->  Optional[Any]:



						'''simple docstring'''


						return not self.alibi









'''simple docstring'''


from __future__ import annotations


def 						__a(SCREAMING_SNAKE_CASE_	:       list     ):



    '''simple docstring'''





    if not nums:
        raise ValueError("List is empty"     )
    return sum(SCREAMING_SNAKE_CASE_     ) / len(SCREAMING_SNAKE_CASE_     )


if __name__ == "__main__":
       import doctest

       doctest.testmod()


