



"""simple docstring"""


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


snake_case_				     =       logging.get_logger(__name__)

snake_case_				     =       {"""openai-gpt""": """https://huggingface.co/openai-gpt/resolve/main/config.json"""}







class       A_			(     SCREAMING_SNAKE_CASE_				):



						"""simple docstring"""
						__UpperCamelCase						=							"""openai-gpt"""
						__UpperCamelCase						=							{
						    """max_position_embeddings""": """n_positions""",
						    """hidden_size""": """n_embd""",
						    """num_attention_heads""": """n_head""",
						    """num_hidden_layers""": """n_layer""",
						}






						def __init__(					self :Optional[int]   ,  lowercase_ :Optional[int]=4_04_78   ,  lowercase_ :List[Any]=5_12   ,  lowercase_ :List[str]=7_68   ,  lowercase_ :int=12   ,  lowercase_ :Dict=12   ,  lowercase_ :Union[str, Any]="gelu"   ,  lowercase_ :Union[str, Any]=0.1   ,  lowercase_ :str=0.1   ,  lowercase_ :List[str]=0.1   ,  lowercase_ :Optional[Any]=1E-5   ,  lowercase_ :Optional[int]=0.02   ,  lowercase_ :Optional[Any]="cls_index"   ,  lowercase_ :List[str]=True   ,  lowercase_ :List[str]=None   ,  lowercase_ :str=True   ,  lowercase_ :int=0.1   ,  **lowercase_ :List[Any]   ,  )				->			str:
												UpperCAmelCase             = vocab_size
												UpperCAmelCase             = n_positions
												UpperCAmelCase             = n_embd
												UpperCAmelCase             = n_layer
												UpperCAmelCase             = n_head
												UpperCAmelCase             = afn
												UpperCAmelCase             = resid_pdrop
												UpperCAmelCase             = embd_pdrop
												UpperCAmelCase             = attn_pdrop
												UpperCAmelCase             = layer_norm_epsilon
												UpperCAmelCase             = initializer_range
												UpperCAmelCase             = summary_type
												UpperCAmelCase             = summary_use_proj
												UpperCAmelCase             = summary_activation
												UpperCAmelCase             = summary_first_dropout
												UpperCAmelCase             = summary_proj_to_labels
												super().__init__(**lowercase_					)









def 							_UpperCAmelCase				(UpperCamelCase__     :  str				,							UpperCamelCase__     :  bool = False						):

       if not isinstance(UpperCamelCase__				,							UpperCamelCase__						):
              _A      :       Optional[Any]				    = f"Expected string as input, found {type(UpperCamelCase__						)}"
              raise ValueError(UpperCamelCase__						)
       if not isinstance(UpperCamelCase__				,							UpperCamelCase__						):
              _A      :       Union[str, Any]				    = f"Expected boolean as use_pascal parameter, found {type(UpperCamelCase__						)}"
              raise ValueError(UpperCamelCase__						)

       _A      :       int				    = input_str.split("_"						)

       _A      :       str				    = 0 if use_pascal else 1

       _A      :       str				    = words[start_index:]

       _A      :       Optional[Any]				    = [word[0].upper() + word[1:] for word in words_to_capitalize]

       _A      :       Any				    = "" if use_pascal else words[0]

       return "".join([initial_word, *capitalized_words]						)


if __name__ == "__main__":
    from doctest import testmod

    testmod()
