






from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


__lowerCamelCase :      List[Any]										=				{"""configuration_xlnet""": ["""XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """XLNetConfig"""]}

try:
	if not is_sentencepiece_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__lowerCamelCase :      str										=				["""XLNetTokenizer"""]

try:
	if not is_tokenizers_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__lowerCamelCase :      Optional[int]										=				["""XLNetTokenizerFast"""]

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__lowerCamelCase :      List[Any]										=				[
	    """XLNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """XLNetForMultipleChoice""",
	    """XLNetForQuestionAnswering""",
	    """XLNetForQuestionAnsweringSimple""",
	    """XLNetForSequenceClassification""",
	    """XLNetForTokenClassification""",
	    """XLNetLMHeadModel""",
	    """XLNetModel""",
	    """XLNetPreTrainedModel""",
	    """load_tf_weights_in_xlnet""",
	]

try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__lowerCamelCase :      str										=				[
	    """TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """TFXLNetForMultipleChoice""",
	    """TFXLNetForQuestionAnsweringSimple""",
	    """TFXLNetForSequenceClassification""",
	    """TFXLNetForTokenClassification""",
	    """TFXLNetLMHeadModel""",
	    """TFXLNetMainLayer""",
	    """TFXLNetModel""",
	    """TFXLNetPreTrainedModel""",
	]


if TYPE_CHECKING:
	from .configuration_xlnet import XLNET_PRETRAINED_CONFIG_ARCHIVE_MAP, XLNetConfig

	try:
		if not is_sentencepiece_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_xlnet import XLNetTokenizer

	try:
		if not is_tokenizers_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_xlnet_fast import XLNetTokenizerFast

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_xlnet import (
		    XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
		    XLNetForMultipleChoice,
		    XLNetForQuestionAnswering,
		    XLNetForQuestionAnsweringSimple,
		    XLNetForSequenceClassification,
		    XLNetForTokenClassification,
		    XLNetLMHeadModel,
		    XLNetModel,
		    XLNetPreTrainedModel,
		    load_tf_weights_in_xlnet,
		)

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_xlnet import (
		    TF_XLNET_PRETRAINED_MODEL_ARCHIVE_LIST,
		    TFXLNetForMultipleChoice,
		    TFXLNetForQuestionAnsweringSimple,
		    TFXLNetForSequenceClassification,
		    TFXLNetForTokenClassification,
		    TFXLNetLMHeadModel,
		    TFXLNetMainLayer,
		    TFXLNetModel,
		    TFXLNetPreTrainedModel,
		)

else:
	import sys

	__lowerCamelCase :      int										=				_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)











from collections import OrderedDict
from typing import Mapping

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__lowerCamelCase :      Optional[int]										=				logging.get_logger(__name__)

__lowerCamelCase :      str										=				{
    """andreasmadsen/efficient_mlm_m0.40""": (
        """https://huggingface.co/andreasmadsen/efficient_mlm_m0.40/resolve/main/config.json"""
    ),
}



class 							SCREAMING_SNAKE_CASE__						(    UpperCamelCase_						):





					"""simple docstring"""






					a_     =		"roberta-prelayernorm"



					def __init__( self					:  Tuple							,		__A					:  Any=5_0_2_6_5							,		__A					:  Optional[int]=7_6_8							,		__A					:  Dict=1_2							,		__A					:  Union[str, Any]=1_2							,		__A					:  List[Any]=3_0_7_2							,		__A					:  Optional[Any]="gelu"							,		__A					:  Optional[int]=0.1							,		__A					:  Tuple=0.1							,		__A					:  Optional[Any]=5_1_2							,		__A					:  List[str]=2							,		__A					:  Optional[int]=0.0_2							,		__A					:  Tuple=1e-1_2							,		__A					:  Any=1							,		__A					:  str=0							,		__A					:  int=2							,		__A					:  List[str]="absolute"							,		__A					:  Optional[Any]=True							,		__A					:  List[Any]=None							,		**__A					:  Optional[Any]							,		):
						super().__init__(pad_token_id=__A							,		bos_token_id=__A							,		eos_token_id=__A							,		**__A	)

						snake_case__			:				Tuple       =  vocab_size
						snake_case__			:				Optional[Any]       =  hidden_size
						snake_case__			:				List[Any]       =  num_hidden_layers
						snake_case__			:				List[Any]       =  num_attention_heads
						snake_case__			:				Dict       =  hidden_act
						snake_case__			:				Union[str, Any]       =  intermediate_size
						snake_case__			:				List[Any]       =  hidden_dropout_prob
						snake_case__			:				Any       =  attention_probs_dropout_prob
						snake_case__			:				int       =  max_position_embeddings
						snake_case__			:				Tuple       =  type_vocab_size
						snake_case__			:				Optional[int]       =  initializer_range
						snake_case__			:				int       =  layer_norm_eps
						snake_case__			:				Dict       =  position_embedding_type
						snake_case__			:				int       =  use_cache
						snake_case__			:				Dict       =  classifier_dropout



class 							SCREAMING_SNAKE_CASE__						(    UpperCamelCase_						):





					"""simple docstring"""






					@property
					def 	_lowercase					( self					:  Optional[int]	):
						if self.task == "multiple-choice":
							snake_case__			:				List[str]       =  {0: "batch", 1: "choice", 2: "sequence"}
						else:
							snake_case__			:				Tuple       =  {0: "batch", 1: "sequence"}
						return OrderedDict(
						    [
						        ("input_ids", dynamic_axis),
						        ("attention_mask", dynamic_axis),
						    ]	)



