





from collections import OrderedDict
from typing import Mapping

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


snake_case_							=			logging.get_logger(__name__)

snake_case_							=			{
    '''facebook/xlm-roberta-xl''': '''https://huggingface.co/facebook/xlm-roberta-xl/resolve/main/config.json''',
    '''facebook/xlm-roberta-xxl''': '''https://huggingface.co/facebook/xlm-roberta-xxl/resolve/main/config.json''',
    # See all XLM-RoBERTa-XL models at https://huggingface.co/models?filter=xlm-roberta-xl
}
class        snake_case_		(			SCREAMING_SNAKE_CASE__):

		'''simple docstring'''





		lowerCamelCase    :List[Any]						=     "xlm-roberta-xl"







		def __init__(		self			,     __lowercase=2_5_0_8_8_0			,     __lowercase=2_5_6_0			,     __lowercase=3_6			,     __lowercase=3_2			,     __lowercase=1_0_2_4_0			,     __lowercase="gelu"			,     __lowercase=0.1			,     __lowercase=0.1			,     __lowercase=5_1_4			,     __lowercase=1			,     __lowercase=0.0_2			,     __lowercase=1e-05			,     __lowercase=1			,     __lowercase=0			,     __lowercase=2			,     __lowercase="absolute"			,     __lowercase=True			,     __lowercase=None			,     **__lowercase			,     )				->   str:
				super().__init__(pad_token_id=_lowercase			,     bos_token_id=_lowercase			,     eos_token_id=_lowercase			,     **_lowercase   )
				lowerCamelCase   : Union[str, Any]								=vocab_size
				lowerCamelCase   : str								=hidden_size
				lowerCamelCase   : List[Any]								=num_hidden_layers
				lowerCamelCase   : int								=num_attention_heads
				lowerCamelCase   : int								=hidden_act
				lowerCamelCase   : Dict								=intermediate_size
				lowerCamelCase   : Union[str, Any]								=hidden_dropout_prob
				lowerCamelCase   : List[str]								=attention_probs_dropout_prob
				lowerCamelCase   : str								=max_position_embeddings
				lowerCamelCase   : str								=type_vocab_size
				lowerCamelCase   : Optional[int]								=initializer_range
				lowerCamelCase   : Tuple								=layer_norm_eps
				lowerCamelCase   : List[str]								=position_embedding_type
				lowerCamelCase   : List[str]								=use_cache
				lowerCamelCase   : Optional[int]								=classifier_dropout

class        snake_case_		(			SCREAMING_SNAKE_CASE__):

		'''simple docstring'''





		@property
		def 			__lowercase   (		self   )				->   Mapping[str, Mapping[int, str]]:

				if self.task == "multiple-choice":
						lowerCamelCase   : List[str]								={0: """batch""", 1: """choice""", 2: """sequence"""}
				else:
						lowerCamelCase   : Optional[Any]								={0: """batch""", 1: """sequence"""}
				return OrderedDict(
				    [
				        ('''input_ids''', dynamic_axis),
				        ('''attention_mask''', dynamic_axis),
				    ]   )








from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike
class        snake_case_		(			_A):







		def __init__(		self			,     __lowercase = None			,     __lowercase = None			,     __lowercase = None			,     __lowercase = None			,     __lowercase = False			,     __lowercase = False			,     __lowercase = None			,     **__lowercase			,     )				->   List[Any]:
				lowerCamelCase   : Dict								=path_or_paths
				lowerCamelCase   : Optional[int]								=split if split or isinstance(__lowercase			,     __lowercase   ) else '''train'''
				lowerCamelCase   : Tuple								=features
				lowerCamelCase   : Tuple								=cache_dir
				lowerCamelCase   : Optional[Any]								=keep_in_memory
				lowerCamelCase   : Any								=streaming
				lowerCamelCase   : Dict								=num_proc
				lowerCamelCase   : List[Any]								=kwargs







		@abstractmethod
		def 			__lowercase   (		self   )				->   Union[Dataset, DatasetDict, IterableDataset, IterableDatasetDict]:
				pass

class        snake_case_		(			_A):







		def __init__(		self			,     __lowercase = None			,     __lowercase = None			,     __lowercase = False			,     __lowercase = False			,     __lowercase = None			,     **__lowercase			,     )				->   List[str]:
				lowerCamelCase   : Tuple								=features
				lowerCamelCase   : Union[str, Any]								=cache_dir
				lowerCamelCase   : Optional[int]								=keep_in_memory
				lowerCamelCase   : List[str]								=streaming
				lowerCamelCase   : List[str]								=num_proc
				lowerCamelCase   : List[str]								=kwargs







		@abstractmethod
		def 			__lowercase   (		self   )				->   Union[Dataset, IterableDataset]:
				pass

