




'''simple docstring'''


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


_lowerCAmelCase  		=      logging.get_logger(__name__)

_lowerCAmelCase  		=      {
    "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   __A (							SCREAMING_SNAKE_CASE__  ):



   """simple docstring"""







   A_												=				'falcon'
   A_												=				['past_key_values']

   def __init__(      self				, _lowerCamelCase=6_5_0_2_4				, _lowerCamelCase=4_5_4_4				, _lowerCamelCase=3_2				, _lowerCamelCase=7_1				, _lowerCamelCase=1e-5				, _lowerCamelCase=0.0_2				, _lowerCamelCase=True				, _lowerCamelCase=0.0				, _lowerCamelCase=0.0				, _lowerCamelCase=None				, _lowerCamelCase=False				, _lowerCamelCase=False				, _lowerCamelCase=True				, _lowerCamelCase=True				, _lowerCamelCase=False				, _lowerCamelCase=1_1				, _lowerCamelCase=1_1				, **_lowerCamelCase				, )->       Tuple:
      lowercase__       							=							vocab_size
      # Backward compatibility with n_embed kwarg
      lowercase__       							=							kwargs.pop('''n_embed'''				, __lowerCamelCase						)
      lowercase__       							=							hidden_size if n_embed is None else n_embed
      lowercase__       							=							num_hidden_layers
      lowercase__       							=							num_attention_heads
      lowercase__       							=							layer_norm_epsilon
      lowercase__       							=							initializer_range
      lowercase__       							=							use_cache
      lowercase__       							=							hidden_dropout
      lowercase__       							=							attention_dropout

      lowercase__       							=							bos_token_id
      lowercase__       							=							eos_token_id
      lowercase__       							=							num_attention_heads if num_kv_heads is None else num_kv_heads
      lowercase__       							=							alibi
      lowercase__       							=							new_decoder_architecture
      lowercase__       							=							multi_query  # Ignored when new_decoder_architecture is True
      lowercase__       							=							parallel_attn
      lowercase__       							=							bias

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

   @property
   def snake_case_(      self						)->       List[str]:
      return self.hidden_size // self.num_attention_heads

   @property
   def snake_case_(      self						)->       Optional[int]:
      return not self.alibi











"""simple docstring"""



from collections import namedtuple

a_					=     namedtuple("""from_to""", """from_ to""")

a_					=     {
    """cubicmeter""": from_to(1, 1),
    """litre""": from_to(0.001, 1000),
    """kilolitre""": from_to(1, 1),
    """gallon""": from_to(0.00454, 264.172),
    """cubicyard""": from_to(0.76455, 1.30795),
    """cubicfoot""": from_to(0.028, 35.3147),
    """cup""": from_to(0.000236588, 4226.75),
}







def 						__lowercase	(  snake_case_    :    float							,snake_case_    :    str							,snake_case_    :    str		)  ->float:



    '''simple docstring'''







    if from_type not in METRIC_CONVERSION:
        raise ValueError(
            F"""Invalid 'from_type' value: {from_type!r}  Supported values are:\n"""
            + ''', '''.join(snake_case_		)		)
    if to_type not in METRIC_CONVERSION:
        raise ValueError(
            F"""Invalid 'to_type' value: {to_type!r}.  Supported values are:\n"""
            + ''', '''.join(snake_case_		)		)
    return value * METRIC_CONVERSION[from_type].from_ * METRIC_CONVERSION[to_type].to


if __name__ == "__main__":
       import doctest

       doctest.testmod()




