




'''simple docstring'''



import argparse
import logging
import pickle
from collections import Counter


logging.basicConfig(
    format='''%(asctime)s - %(levelname)s - %(name)s - %(message)s''', datefmt='''%m/%d/%Y %H:%M:%S''', level=logging.INFO
)
UpperCAmelCase_							:	Union[str, Any]	     =		logging.getLogger(__name__)

if __name__ == "__main__":
     UpperCAmelCase_							:	Optional[int]	     =		argparse.ArgumentParser(
         description='''Token Counts for smoothing the masking probabilities in MLM (cf XLM/word2vec)'''
     )
     parser.add_argument(
         '''--data_file''', type=str, default='''data/dump.bert-base-uncased.pickle''', help='''The binarized dataset.'''
     )
     parser.add_argument(
         '''--token_counts_dump''', type=str, default='''data/token_counts.bert-base-uncased.pickle''', help='''The dump file.'''
     )
     parser.add_argument('''--vocab_size''', default=3_0_5_2_2, type=int)
     UpperCAmelCase_							:	Union[str, Any]	     =		parser.parse_args()

     logger.info(F"""Loading data from {args.data_file}""")
     with open(args.data_file, '''rb''') as fp:
          UpperCAmelCase_							:	Optional[int]	     =		pickle.load(fp)

     logger.info('''Counting occurrences for MLM.''')
     UpperCAmelCase_							:	Union[str, Any]	     =		Counter()
     for tk_ids in data:
          counter.update(tk_ids)
     UpperCAmelCase_							:	Dict	     =		[0] * args.vocab_size
     for k, v in counter.items():
          UpperCAmelCase_							:	str	     =		v

     logger.info(F"""Dump to {args.token_counts_dump}""")
     with open(args.token_counts_dump, '''wb''') as handle:
          pickle.dump(counts, handle, protocol=pickle.HIGHEST_PROTOCOL)












'''simple docstring'''



from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


UpperCAmelCase_							:	List[str]	     =		{
    '''configuration_gpt_bigcode''': ['''GPT_BIGCODE_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''GPTBigCodeConfig'''],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     UpperCAmelCase_							:	int	     =		[
         '''GPT_BIGCODE_PRETRAINED_MODEL_ARCHIVE_LIST''',
         '''GPTBigCodeForSequenceClassification''',
         '''GPTBigCodeForTokenClassification''',
         '''GPTBigCodeForCausalLM''',
         '''GPTBigCodeModel''',
         '''GPTBigCodePreTrainedModel''',
     ]

if TYPE_CHECKING:
     from .configuration_gpt_bigcode import GPT_BIGCODE_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTBigCodeConfig

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_gpt_bigcode import (
              GPT_BIGCODE_PRETRAINED_MODEL_ARCHIVE_LIST,
              GPTBigCodeForCausalLM,
              GPTBigCodeForSequenceClassification,
              GPTBigCodeForTokenClassification,
              GPTBigCodeModel,
              GPTBigCodePreTrainedModel,
          )


else:
     import sys

     UpperCAmelCase_							:	Any	     =		_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






