

from typing import Optional, Tuple

from ...tokenization_utils_fast import PreTrainedTokenizerFast
from ...utils import logging
from .tokenization_openai import OpenAIGPTTokenizer


lowerCamelCase 	=   logging.get_logger(__name__)

lowerCamelCase 	=   {'''vocab_file''': '''vocab.json''', '''merges_file''': '''merges.txt''', '''tokenizer_file''': '''tokenizer.json'''}

lowerCamelCase 	=   {
    '''vocab_file''': {'''openai-gpt''': '''https://huggingface.co/openai-gpt/resolve/main/vocab.json'''},
    '''merges_file''': {'''openai-gpt''': '''https://huggingface.co/openai-gpt/resolve/main/merges.txt'''},
    '''tokenizer_file''': {'''openai-gpt''': '''https://huggingface.co/openai-gpt/resolve/main/tokenizer.json'''},
}

lowerCamelCase 	=   {
    '''openai-gpt''': 512,
}







class 		__magic_name__     (				lowerCamelCase__				):

   '''simple docstring'''




   lowerCamelCase__					:      List[Any]        =  VOCAB_FILES_NAMES
   lowerCamelCase__					:      Tuple        =  PRETRAINED_VOCAB_FILES_MAP
   lowerCamelCase__					:      Dict        =  PRETRAINED_POSITIONAL_EMBEDDINGS_SIZES
   lowerCamelCase__					:      Optional[int]        =  ['input_ids', 'attention_mask']
   lowerCamelCase__					:      Optional[Any]        =  OpenAIGPTTokenizer



   def __init__(							self,       lowercase_=None,       lowercase_=None,       lowercase_=None,       lowercase_="<unk>",       **lowercase_			)				->       str:






     """simple docstring"""






     super().__init__(lowercase_,       lowercase_,       tokenizer_file=lowercase_,       unk_token=lowercase_,       **lowercase_			)



   @property
   def 					_UpperCAmelCase					(							self			)				->       Optional[Any]:






     """simple docstring"""






     return True



   def 					_UpperCAmelCase					(							self,       lowercase_,       lowercase_ = None			)				->       Tuple[str]:






     """simple docstring"""






     a__    =self._tokenizer.model.save(lowercase_,       name=lowercase_			)
     return tuple(lowercase_			)



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


lowerCamelCase 	=   logging.get_logger(__name__)

lowerCamelCase 	=   {
    '''uw-madison/yoso-4096''': '''https://huggingface.co/uw-madison/yoso-4096/resolve/main/config.json''',
    # See all YOSO models at https://huggingface.co/models?filter=yoso
}







class 		__magic_name__     (				lowerCamelCase__				):

   '''simple docstring'''




   lowerCamelCase__					:      Tuple        =  'yoso'



   def __init__(							self,       lowercase_=50265,       lowercase_=768,       lowercase_=12,       lowercase_=12,       lowercase_=3072,       lowercase_="gelu",       lowercase_=0.1,       lowercase_=0.1,       lowercase_=4096,       lowercase_=1,       lowercase_=0.02,       lowercase_=1E-12,       lowercase_="absolute",       lowercase_=True,       lowercase_=9,       lowercase_=64,       lowercase_=None,       lowercase_=True,       lowercase_=True,       lowercase_=1,       lowercase_=0,       lowercase_=2,       **lowercase_,       )				->       List[str]:






     """simple docstring"""






     super().__init__(pad_token_id=lowercase_,       bos_token_id=lowercase_,       eos_token_id=lowercase_,       **lowercase_			)

     a__    =vocab_size
     a__    =max_position_embeddings
     a__    =hidden_size
     a__    =num_hidden_layers
     a__    =num_attention_heads
     a__    =intermediate_size
     a__    =hidden_act
     a__    =hidden_dropout_prob
     a__    =attention_probs_dropout_prob
     a__    =initializer_range
     a__    =type_vocab_size
     a__    =layer_norm_eps
     a__    =position_embedding_type
     a__    =use_expectation
     a__    =hash_code_len
     a__    =num_hash
     a__    =conv_window
     a__    =use_fast_hash
     a__    =lsh_backward
