from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


_SCREAMING_SNAKE_CASE   		=			{
    """configuration_flava""": [
        """FLAVA_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """FlavaConfig""",
        """FlavaImageCodebookConfig""",
        """FlavaImageConfig""",
        """FlavaMultimodalConfig""",
        """FlavaTextConfig""",
    ],
}

try:
     if not is_vision_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _SCREAMING_SNAKE_CASE   		=			["""FlavaFeatureExtractor"""]
     _SCREAMING_SNAKE_CASE   		=			["""FlavaImageProcessor"""]
     _SCREAMING_SNAKE_CASE   		=			["""FlavaProcessor"""]

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     _SCREAMING_SNAKE_CASE   		=			[
         """FLAVA_PRETRAINED_MODEL_ARCHIVE_LIST""",
         """FlavaForPreTraining""",
         """FlavaImageCodebook""",
         """FlavaImageModel""",
         """FlavaModel""",
         """FlavaMultimodalModel""",
         """FlavaPreTrainedModel""",
         """FlavaTextModel""",
     ]

if TYPE_CHECKING:
     from .configuration_flava import (
         FLAVA_PRETRAINED_CONFIG_ARCHIVE_MAP,
         FlavaConfig,
         FlavaImageCodebookConfig,
         FlavaImageConfig,
         FlavaMultimodalConfig,
         FlavaTextConfig,
     )

     try:
          if not is_vision_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .feature_extraction_flava import FlavaFeatureExtractor
          from .image_processing_flava import FlavaImageProcessor
          from .processing_flava import FlavaProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_flava import (
              FLAVA_PRETRAINED_MODEL_ARCHIVE_LIST,
              FlavaForPreTraining,
              FlavaImageCodebook,
              FlavaImageModel,
              FlavaModel,
              FlavaMultimodalModel,
              FlavaPreTrainedModel,
              FlavaTextModel,
          )

else:
     import sys

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

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


_SCREAMING_SNAKE_CASE   		=			logging.get_logger(__name__)

_SCREAMING_SNAKE_CASE   		=			{
    """tau/splinter-base""": """https://huggingface.co/tau/splinter-base/resolve/main/config.json""",
    """tau/splinter-base-qass""": """https://huggingface.co/tau/splinter-base-qass/resolve/main/config.json""",
    """tau/splinter-large""": """https://huggingface.co/tau/splinter-large/resolve/main/config.json""",
    """tau/splinter-large-qass""": """https://huggingface.co/tau/splinter-large-qass/resolve/main/config.json""",
    # See all Splinter models at https://huggingface.co/models?filter=splinter
}
class SCREAMING_SNAKE_CASE_		(			__lowerCAmelCase		):
   __lowerCAmelCase											=							"""splinter"""







   def __init__(    self	:	List[Any]      ,      lowerCamelCase_	:	int=3_0522      ,      lowerCamelCase_	:	Any=768      ,      lowerCamelCase_	:	List[Any]=12      ,      lowerCamelCase_	:	Tuple=12      ,      lowerCamelCase_	:	Tuple=3072      ,      lowerCamelCase_	:	Any="gelu"      ,      lowerCamelCase_	:	Union[str, Any]=0.1      ,      lowerCamelCase_	:	str=0.1      ,      lowerCamelCase_	:	int=512      ,      lowerCamelCase_	:	List[Any]=2      ,      lowerCamelCase_	:	List[Any]=0.0_2      ,      lowerCamelCase_	:	Dict=1E-12      ,      lowerCamelCase_	:	Tuple=True      ,      lowerCamelCase_	:	str=0      ,      lowerCamelCase_	:	Any=104      ,      **lowerCamelCase_	:	Dict      ,      ):





    """simple docstring"""


    super().__init__(pad_token_id=lowerCamelCase_      ,      **lowerCamelCase_							)

    UpperCamelCase      =			vocab_size
    UpperCamelCase      =			max_position_embeddings
    UpperCamelCase      =			hidden_size
    UpperCamelCase      =			num_hidden_layers
    UpperCamelCase      =			num_attention_heads
    UpperCamelCase      =			intermediate_size
    UpperCamelCase      =			hidden_act
    UpperCamelCase      =			hidden_dropout_prob
    UpperCamelCase      =			attention_probs_dropout_prob
    UpperCamelCase      =			initializer_range
    UpperCamelCase      =			type_vocab_size
    UpperCamelCase      =			layer_norm_eps
    UpperCamelCase      =			use_cache
    UpperCamelCase      =			question_token_id
