



'''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     UpperCAmelCase_       (       _a	):
    """simple docstring"""







    lowercase					=		"falcon"
    lowercase					=		["past_key_values"]




    def __init__(    self					:     List[Any] ,     snake_case_					:     List[str]=65_024 ,     snake_case_					:     str=4_544 ,     snake_case_					:     int=32 ,     snake_case_					:     str=71 ,     snake_case_					:     Union[str, Any]=1E-5 ,     snake_case_					:     Tuple=0.02 ,     snake_case_					:     Dict=True ,     snake_case_					:     Optional[int]=0.0 ,     snake_case_					:     Optional[Any]=0.0 ,     snake_case_					:     List[str]=None ,     snake_case_					:     str=False ,     snake_case_					:     Any=False ,     snake_case_					:     Dict=True ,     snake_case_					:     Tuple=True ,     snake_case_					:     Tuple=False ,     snake_case_					:     int=11 ,     snake_case_					:     Tuple=11 ,     **snake_case_					:     Union[str, Any] ,     ):
          snake_case__  :    List[Any]    						=      vocab_size
          # Backward compatibility with n_embed kwarg
          snake_case__  :    Any    						=      kwargs.pop("""n_embed""" ,     snake_case_						)
          snake_case__  :    Optional[int]    						=      hidden_size if n_embed is None else n_embed
          snake_case__  :    List[str]    						=      num_hidden_layers
          snake_case__  :    Tuple    						=      num_attention_heads
          snake_case__  :    Tuple    						=      layer_norm_epsilon
          snake_case__  :    Optional[Any]    						=      initializer_range
          snake_case__  :    List[str]    						=      use_cache
          snake_case__  :    Optional[int]    						=      hidden_dropout
          snake_case__  :    Tuple    						=      attention_dropout

          snake_case__  :    Optional[int]    						=      bos_token_id
          snake_case__  :    List[str]    						=      eos_token_id
          snake_case__  :    Dict    						=      num_attention_heads if num_kv_heads is None else num_kv_heads
          snake_case__  :    Optional[Any]    						=      alibi
          snake_case__  :    List[Any]    						=      new_decoder_architecture
          snake_case__  :    int    						=      multi_query  # Ignored when new_decoder_architecture is True
          snake_case__  :    Optional[Any]    						=      parallel_attn
          snake_case__  :    int    						=      bias

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




    @property
    def lowerCamelCase       (    self					:     Any						):
          return self.hidden_size // self.num_attention_heads




    @property
    def lowerCamelCase       (    self					:     str						):
          return not self.alibi





'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__a          =		{
    "configuration_timesformer": ["TIMESFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "TimesformerConfig"],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __a          =		[
           "TIMESFORMER_PRETRAINED_MODEL_ARCHIVE_LIST",
           "TimesformerModel",
           "TimesformerForVideoClassification",
           "TimesformerPreTrainedModel",
       ]

if TYPE_CHECKING:
       from .configuration_timesformer import TIMESFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, TimesformerConfig

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_timesformer import (
                  TIMESFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TimesformerForVideoClassification,
                  TimesformerModel,
                  TimesformerPreTrainedModel,
              )

else:
       import sys

       __a          =		_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
