

'''simple docstring'''
from ...configuration_utils import PretrainedConfig
from ...utils import logging


_lowerCamelCase	 =			logging.get_logger(__name__)

_lowerCamelCase	 =			{
    """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  _snake_case						(__SCREAMING_SNAKE_CASE):
			__A   :     Dict          ="splinter"






			def __init__(   self       ,_snake_case=3_05_22       ,_snake_case=7_68       ,_snake_case=12       ,_snake_case=12       ,_snake_case=30_72       ,_snake_case="gelu"       ,_snake_case=0.1       ,_snake_case=0.1       ,_snake_case=5_12       ,_snake_case=2       ,_snake_case=0.02       ,_snake_case=1E-12       ,_snake_case=True       ,_snake_case=0       ,_snake_case=1_04       ,**_snake_case       ,):
				super().__init__(pad_token_id=_snake_case       ,**_snake_case			)

				UpperCAmelCase_			:	List[Any]      =   vocab_size
				UpperCAmelCase_			:	Optional[int]      =   max_position_embeddings
				UpperCAmelCase_			:	List[Any]      =   hidden_size
				UpperCAmelCase_			:	Any      =   num_hidden_layers
				UpperCAmelCase_			:	List[Any]      =   num_attention_heads
				UpperCAmelCase_			:	Optional[Any]      =   intermediate_size
				UpperCAmelCase_			:	Optional[int]      =   hidden_act
				UpperCAmelCase_			:	Optional[int]      =   hidden_dropout_prob
				UpperCAmelCase_			:	List[Any]      =   attention_probs_dropout_prob
				UpperCAmelCase_			:	List[Any]      =   initializer_range
				UpperCAmelCase_			:	Union[str, Any]      =   type_vocab_size
				UpperCAmelCase_			:	List[Any]      =   layer_norm_eps
				UpperCAmelCase_			:	List[str]      =   use_cache
				UpperCAmelCase_			:	List[str]      =   question_token_id











'''simple docstring'''



import torch

from transformers import PreTrainedModel

from .custom_configuration import CustomConfig, NoSuperInitConfig






class 							__lowercase				(					lowerCAmelCase__  ):







	'''simple docstring'''

	a			: Union[str, Any]      =				CustomConfig


	def __init__(self   ,_lowerCamelCase       )							->							Tuple:







				'''simple docstring'''





				super().__init__(_lowerCamelCase       )
				__lowercase   =							torch.nn.Linear(config.hidden_size   ,config.hidden_size       )


	def   _UpperCAmelCase   (self   ,_lowerCamelCase       )							->							List[str]:







				'''simple docstring'''





				return self.linear(_lowerCamelCase       )


	def   _UpperCAmelCase   (self   ,_lowerCamelCase       )							->							List[Any]:







				'''simple docstring'''





				pass






class 							__lowercase				(					lowerCAmelCase__  ):







	'''simple docstring'''

	a			: Dict      =				NoSuperInitConfig


	def __init__(self   ,_lowerCamelCase       )							->							str:







				'''simple docstring'''





				super().__init__(_lowerCamelCase       )
				__lowercase   =							torch.nn.Linear(config.attribute   ,config.attribute       )


	def   _UpperCAmelCase   (self   ,_lowerCamelCase       )							->							List[str]:







				'''simple docstring'''





				return self.linear(_lowerCamelCase       )


	def   _UpperCAmelCase   (self   ,_lowerCamelCase       )							->							Tuple:







				'''simple docstring'''





				pass





