




'''simple docstring'''





import itertools
from dataclasses import dataclass
from typing import Optional

import pandas as pd
import pyarrow as pa

import datasets
from datasets.table import table_cast

@dataclass
class   _a							(		datasets.BuilderConfig				):
     SCREAMING_SNAKE_CASE_				:       Optional[datasets.Features]       							=		None







class   _a							(		datasets.ArrowBasedBuilder				):
     SCREAMING_SNAKE_CASE_				:       Union[str, Any]       							=		PandasConfig






     def 							_lowercase      (					self       )				->     Dict:
          return datasets.DatasetInfo(features=self.config.features       )






     def 							_lowercase      (					self   ,_SCREAMING_SNAKE_CASE       )				->     List[Any]:
          if not self.config.data_files:
               raise ValueError(f"""At least one data file must be specified, but got data_files={self.config.data_files}"""       )
          _snake_case				= dl_manager.download_and_extract(self.config.data_files       )
          if isinstance(_SCREAMING_SNAKE_CASE   ,(str, list, tuple)       ):
               _snake_case				= data_files
               if isinstance(_SCREAMING_SNAKE_CASE   ,_SCREAMING_SNAKE_CASE       ):
                    _snake_case				= [files]
               # Use `dl_manager.iter_files` to skip hidden files in an extracted archive
               _snake_case				= [dl_manager.iter_files(_SCREAMING_SNAKE_CASE       ) for file in files]
               return [datasets.SplitGenerator(name=datasets.Split.TRAIN   ,gen_kwargs={"files": files}       )]
          _snake_case				= []
          for split_name, files in data_files.items():
               if isinstance(_SCREAMING_SNAKE_CASE   ,_SCREAMING_SNAKE_CASE       ):
                    _snake_case				= [files]
               # Use `dl_manager.iter_files` to skip hidden files in an extracted archive
               _snake_case				= [dl_manager.iter_files(_SCREAMING_SNAKE_CASE       ) for file in files]
               splits.append(datasets.SplitGenerator(name=_SCREAMING_SNAKE_CASE   ,gen_kwargs={"files": files}       )       )
          return splits






     def 							_lowercase      (					self   ,_SCREAMING_SNAKE_CASE       )				->     pa.Table:
          if self.config.features is not None:
               # more expensive cast to support nested features with keys in a different order
               # allows str <-> int/float or str to Audio for example
               _snake_case				= table_cast(_SCREAMING_SNAKE_CASE   ,self.config.features.arrow_schema       )
          return pa_table






     def 							_lowercase      (					self   ,_SCREAMING_SNAKE_CASE       )				->     str:
          for i, file in enumerate(itertools.chain.from_iterable(_SCREAMING_SNAKE_CASE       )       ):
               with open(_SCREAMING_SNAKE_CASE   ,"rb"       ) as f:
                    _snake_case				= pa.Table.from_pandas(pd.read_pickle(_SCREAMING_SNAKE_CASE       )       )
                    yield i, self._cast_table(_SCREAMING_SNAKE_CASE       )








'''simple docstring'''





from collections import OrderedDict
from typing import Mapping

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


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

UpperCamelCase_		:     str          =		{
    '''kssteven/ibert-roberta-base''': '''https://huggingface.co/kssteven/ibert-roberta-base/resolve/main/config.json''',
    '''kssteven/ibert-roberta-large''': '''https://huggingface.co/kssteven/ibert-roberta-large/resolve/main/config.json''',
    '''kssteven/ibert-roberta-large-mnli''': (
        '''https://huggingface.co/kssteven/ibert-roberta-large-mnli/resolve/main/config.json'''
    ),
}

class   _a							(		__lowerCAmelCase				):
     SCREAMING_SNAKE_CASE_				:       List[Any]       							=		"""ibert"""






     def __init__(					self   ,_SCREAMING_SNAKE_CASE=30_522   ,_SCREAMING_SNAKE_CASE=768   ,_SCREAMING_SNAKE_CASE=12   ,_SCREAMING_SNAKE_CASE=12   ,_SCREAMING_SNAKE_CASE=3_072   ,_SCREAMING_SNAKE_CASE="gelu"   ,_SCREAMING_SNAKE_CASE=0.1   ,_SCREAMING_SNAKE_CASE=0.1   ,_SCREAMING_SNAKE_CASE=512   ,_SCREAMING_SNAKE_CASE=2   ,_SCREAMING_SNAKE_CASE=0.0_2   ,_SCREAMING_SNAKE_CASE=1e-12   ,_SCREAMING_SNAKE_CASE=1   ,_SCREAMING_SNAKE_CASE=0   ,_SCREAMING_SNAKE_CASE=2   ,_SCREAMING_SNAKE_CASE="absolute"   ,_SCREAMING_SNAKE_CASE=False   ,_SCREAMING_SNAKE_CASE="none"   ,**_SCREAMING_SNAKE_CASE   ,)				->     Dict:
          super().__init__(pad_token_id=_SCREAMING_SNAKE_CASE   ,bos_token_id=_SCREAMING_SNAKE_CASE   ,eos_token_id=_SCREAMING_SNAKE_CASE   ,**_SCREAMING_SNAKE_CASE       )

          _snake_case				= vocab_size
          _snake_case				= hidden_size
          _snake_case				= num_hidden_layers
          _snake_case				= num_attention_heads
          _snake_case				= hidden_act
          _snake_case				= intermediate_size
          _snake_case				= hidden_dropout_prob
          _snake_case				= attention_probs_dropout_prob
          _snake_case				= max_position_embeddings
          _snake_case				= type_vocab_size
          _snake_case				= initializer_range
          _snake_case				= layer_norm_eps
          _snake_case				= position_embedding_type
          _snake_case				= quant_mode
          _snake_case				= force_dequant







class   _a							(		__lowerCAmelCase				):






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


