





from typing import TYPE_CHECKING

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


UpperCAmelCase_											=  {
    "configuration_imagegpt": ["IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ImageGPTConfig", "ImageGPTOnnxConfig"]
}

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase_											=  ["ImageGPTFeatureExtractor"]
   UpperCAmelCase_											=  ["ImageGPTImageProcessor"]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   UpperCAmelCase_											=  [
       "IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST",
       "ImageGPTForCausalImageModeling",
       "ImageGPTForImageClassification",
       "ImageGPTModel",
       "ImageGPTPreTrainedModel",
       "load_tf_weights_in_imagegpt",
   ]


if TYPE_CHECKING:
   from .configuration_imagegpt import IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP, ImageGPTConfig, ImageGPTOnnxConfig

   try:
      if not is_vision_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .feature_extraction_imagegpt import ImageGPTFeatureExtractor
      from .image_processing_imagegpt import ImageGPTImageProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_imagegpt import (
          IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST,
          ImageGPTForCausalImageModeling,
          ImageGPTForImageClassification,
          ImageGPTModel,
          ImageGPTPreTrainedModel,
          load_tf_weights_in_imagegpt,
      )

else:
   import sys

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






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


UpperCAmelCase_											=  logging.get_logger(__name__)

UpperCAmelCase_											=  {
    "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  __UpperCamelCase						(       A__						):
     __A  :     Tuple            =      """splinter"""





     def __init__(    self							,       _UpperCamelCase=30522							,       _UpperCamelCase=768							,       _UpperCamelCase=12							,       _UpperCamelCase=12							,       _UpperCamelCase=3072							,       _UpperCamelCase="gelu"							,       _UpperCamelCase=0.1							,       _UpperCamelCase=0.1							,       _UpperCamelCase=512							,       _UpperCamelCase=2							,       _UpperCamelCase=0.02							,       _UpperCamelCase=1e-12							,       _UpperCamelCase=True							,       _UpperCamelCase=0							,       _UpperCamelCase=104							,       **_UpperCamelCase							,       ):
        super().__init__(pad_token_id=_UpperCamelCase							,       **_UpperCamelCase				)

        _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