'''simple docstring'''




from typing import TYPE_CHECKING

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


_lowercase		:				Dict	       =		{
    "configuration_rembert": ["REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "RemBertConfig", "RemBertOnnxConfig"]
}

try:
			if not is_sentencepiece_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_lowercase		:				int	       =		["RemBertTokenizer"]

try:
			if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_lowercase		:				List[Any]	       =		["RemBertTokenizerFast"]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_lowercase		:				Union[str, Any]	       =		[
			    "REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "RemBertForCausalLM",
			    "RemBertForMaskedLM",
			    "RemBertForMultipleChoice",
			    "RemBertForQuestionAnswering",
			    "RemBertForSequenceClassification",
			    "RemBertForTokenClassification",
			    "RemBertLayer",
			    "RemBertModel",
			    "RemBertPreTrainedModel",
			    "load_tf_weights_in_rembert",
			]


try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_lowercase		:				int	       =		[
			    "TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "TFRemBertForCausalLM",
			    "TFRemBertForMaskedLM",
			    "TFRemBertForMultipleChoice",
			    "TFRemBertForQuestionAnswering",
			    "TFRemBertForSequenceClassification",
			    "TFRemBertForTokenClassification",
			    "TFRemBertLayer",
			    "TFRemBertModel",
			    "TFRemBertPreTrainedModel",
			]


if TYPE_CHECKING:
			from .configuration_rembert import REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RemBertConfig, RemBertOnnxConfig

			try:
						if not is_sentencepiece_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_rembert import RemBertTokenizer

			try:
						if not is_tokenizers_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_rembert_fast import RemBertTokenizerFast

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_rembert import (
						    REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
						    RemBertForCausalLM,
						    RemBertForMaskedLM,
						    RemBertForMultipleChoice,
						    RemBertForQuestionAnswering,
						    RemBertForSequenceClassification,
						    RemBertForTokenClassification,
						    RemBertLayer,
						    RemBertModel,
						    RemBertPreTrainedModel,
						    load_tf_weights_in_rembert,
						)

			try:
						if not is_tf_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_rembert import (
						    TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
						    TFRemBertForCausalLM,
						    TFRemBertForMaskedLM,
						    TFRemBertForMultipleChoice,
						    TFRemBertForQuestionAnswering,
						    TFRemBertForSequenceClassification,
						    TFRemBertForTokenClassification,
						    TFRemBertLayer,
						    TFRemBertModel,
						    TFRemBertPreTrainedModel,
						)


else:
			import sys

			_lowercase		:				List[Any]	       =		_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






'''simple docstring'''




import pytest

import datasets.config
from datasets.utils.info_utils import is_small_dataset




@pytest.mark.parametrize("""dataset_size"""   ,   [None, 400 * 2**20, 600 * 2**20]				)
@pytest.mark.parametrize("""input_in_memory_max_size"""   ,   ["""default""", 0, 100 * 2**20, 900 * 2**20]				)
def 							lowerCamelCase			(   UpperCAmelCase__ :      Union[str, Any]   ,   UpperCAmelCase__ :      List[Any]   ,   UpperCAmelCase__ :      str				)    ->   Any:
							if input_in_memory_max_size != "default":
														monkeypatch.setattr(datasets.config   ,   """IN_MEMORY_MAX_SIZE"""   ,   UpperCAmelCase__				)
							lowercase_      :    List[Any]       		= datasets.config.IN_MEMORY_MAX_SIZE
							if input_in_memory_max_size == "default":
														assert in_memory_max_size == 0
							else:
														assert in_memory_max_size == input_in_memory_max_size
							if dataset_size and in_memory_max_size:
														lowercase_      :    str       		= dataset_size < in_memory_max_size
							else:
														lowercase_      :    List[Any]       		= False
							lowercase_      :    Any       		= is_small_dataset(UpperCAmelCase__				)
							assert result == expected





