





from dataclasses import dataclass
from typing import Callable, Optional

import datasets




@dataclass
class  __UpperCamelCase						(       datasets.BuilderConfig						):
     __A  :     Optional[Callable]            =      None
     __A  :     Optional[dict]            =      None
     __A  :     Optional[datasets.Features]            =      None





     def 		UpperCamelCase(    self				):
        assert self.generator is not None, "generator must be specified"

        if self.gen_kwargs is None:
           _UpperCAmelCase											=      {}




class  __UpperCamelCase						(       datasets.GeneratorBasedBuilder						):
     __A  :     Dict            =      GeneratorConfig





     def 		UpperCamelCase(    self				):
        return datasets.DatasetInfo(features=self.config.features				)





     def 		UpperCamelCase(    self							,       _UpperCamelCase				):
        return [datasets.SplitGenerator(name=datasets.Split.TRAIN							,       gen_kwargs=self.config.gen_kwargs				)]





     def 		UpperCamelCase(    self							,       **_UpperCamelCase				):
        for idx, ex in enumerate(self.config.generator(**_UpperCamelCase				)				):
           yield idx, ex






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