


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


_A									=		{
    'configuration_flaubert': ['FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'FlaubertConfig', 'FlaubertOnnxConfig'],
    'tokenization_flaubert': ['FlaubertTokenizer'],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A									=		[
       'FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
       'FlaubertForMultipleChoice',
       'FlaubertForQuestionAnswering',
       'FlaubertForQuestionAnsweringSimple',
       'FlaubertForSequenceClassification',
       'FlaubertForTokenClassification',
       'FlaubertModel',
       'FlaubertWithLMHeadModel',
       'FlaubertPreTrainedModel',
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _A									=		[
       'TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST',
       'TFFlaubertForMultipleChoice',
       'TFFlaubertForQuestionAnsweringSimple',
       'TFFlaubertForSequenceClassification',
       'TFFlaubertForTokenClassification',
       'TFFlaubertModel',
       'TFFlaubertPreTrainedModel',
       'TFFlaubertWithLMHeadModel',
   ]


if TYPE_CHECKING:
   from .configuration_flaubert import FLAUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, FlaubertConfig, FlaubertOnnxConfig
   from .tokenization_flaubert import FlaubertTokenizer

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_flaubert import (
          FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
          FlaubertForMultipleChoice,
          FlaubertForQuestionAnswering,
          FlaubertForQuestionAnsweringSimple,
          FlaubertForSequenceClassification,
          FlaubertForTokenClassification,
          FlaubertModel,
          FlaubertPreTrainedModel,
          FlaubertWithLMHeadModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_flaubert import (
          TF_FLAUBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFFlaubertForMultipleChoice,
          TFFlaubertForQuestionAnsweringSimple,
          TFFlaubertForSequenceClassification,
          TFFlaubertForTokenClassification,
          TFFlaubertModel,
          TFFlaubertPreTrainedModel,
          TFFlaubertWithLMHeadModel,
      )

else:
   import sys

   _A									=		_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)









import json
import os
import tempfile

import datasets
from utils import generate_example_dataset, get_duration


_A									=		50_0000

_A			,	_A									=		os.path.split(__file__)
_A									=		os.path.join(RESULTS_BASEPATH, 'results', RESULTS_FILENAME.replace('.py', '.json'))

@get_duration
def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   datasets.Dataset							):
     __UpperCamelCase       				=dataset.select(range(0     ,	len(SCREAMING_SNAKE_CASE__							)     ,	2							)							)

@get_duration
def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   datasets.Dataset							):
     __UpperCamelCase       				=dataset.sort('numbers'							)

@get_duration
def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   datasets.Dataset							):
     __UpperCamelCase       				=dataset.shuffle()

@get_duration
def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   datasets.Dataset							):
     __UpperCamelCase       				=dataset.train_test_split(0.1							)

@get_duration
def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   datasets.Dataset     ,	SCREAMING_SNAKE_CASE__     :   int=10							):
     for shard_id in range(SCREAMING_SNAKE_CASE__							):
          __UpperCamelCase       				=dataset.shard(SCREAMING_SNAKE_CASE__     ,	SCREAMING_SNAKE_CASE__							)

def 		_UpperCAmelCase							(     ):
     __UpperCamelCase       				={'num examples': SPEED_TEST_N_EXAMPLES}
     __UpperCamelCase       				=(select, sort, shuffle, train_test_split, shard)
     with tempfile.TemporaryDirectory() as tmp_dir:
          print('generating dataset'							)
          __UpperCamelCase       				=datasets.Features({'text': datasets.Value('string'							), 'numbers': datasets.Value('float32'							)}							)
          __UpperCamelCase       				=generate_example_dataset(
              os.path.join(SCREAMING_SNAKE_CASE__     ,	'dataset.arrow'							)     ,	SCREAMING_SNAKE_CASE__     ,	num_examples=SCREAMING_SNAKE_CASE__							)
          print('Functions'							)
          for func in functions:
               print(func.__name__							)
               __UpperCamelCase       				=func(SCREAMING_SNAKE_CASE__							)

     with open(SCREAMING_SNAKE_CASE__     ,	'wb'							) as f:
          f.write(json.dumps(SCREAMING_SNAKE_CASE__							).encode('utf-8'							)							)


if __name__ == "__main__":  # useful to run the profiler
   benchmark_indices_mapping()





