




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


lowerCAmelCase_					    = logging.get_logger(__name__)

lowerCAmelCase_					    = {
    """studio-ousia/luke-base""": """https://huggingface.co/studio-ousia/luke-base/resolve/main/config.json""",
    """studio-ousia/luke-large""": """https://huggingface.co/studio-ousia/luke-large/resolve/main/config.json""",
}






class  _lowerCAmelCase     (  _lowercase	):
      A__		     =		'luke'

      def __init__(   self      ,				__UpperCAmelCase=5_0267      ,				__UpperCAmelCase=50_0000      ,				__UpperCAmelCase=768      ,				__UpperCAmelCase=256      ,				__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=None      ,				__UpperCAmelCase=1      ,				__UpperCAmelCase=0      ,				__UpperCAmelCase=2      ,				**__UpperCAmelCase      ,				):
        super().__init__(pad_token_id=__UpperCAmelCase      ,				bos_token_id=__UpperCAmelCase      ,				eos_token_id=__UpperCAmelCase      ,				**__UpperCAmelCase		)

        lowerCAmelCase__				:  int		       =     vocab_size
        lowerCAmelCase__				:  List[str]		       =     entity_vocab_size
        lowerCAmelCase__				:  Dict		       =     hidden_size
        lowerCAmelCase__				:  Dict		       =     entity_emb_size
        lowerCAmelCase__				:  Union[str, Any]		       =     num_hidden_layers
        lowerCAmelCase__				:  List[str]		       =     num_attention_heads
        lowerCAmelCase__				:  Any		       =     hidden_act
        lowerCAmelCase__				:  str		       =     intermediate_size
        lowerCAmelCase__				:  int		       =     hidden_dropout_prob
        lowerCAmelCase__				:  Union[str, Any]		       =     attention_probs_dropout_prob
        lowerCAmelCase__				:  Optional[int]		       =     max_position_embeddings
        lowerCAmelCase__				:  Tuple		       =     type_vocab_size
        lowerCAmelCase__				:  List[str]		       =     initializer_range
        lowerCAmelCase__				:  Union[str, Any]		       =     layer_norm_eps
        lowerCAmelCase__				:  List[Any]		       =     use_entity_aware_attention
        lowerCAmelCase__				:  List[str]		       =     classifier_dropout







from abc import ABC, abstractmethod
from argparse import ArgumentParser






class  _lowerCAmelCase     (  _lowercase	):

      @staticmethod
      @abstractmethod
      def 	__magic_name__(   __UpperCAmelCase		):
        raise NotImplementedError()







      @abstractmethod
      def 	__magic_name__(   self		):
        raise NotImplementedError()

