


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__  :     Tuple   			=logging.getLogger(__name__)

if __name__ == "__main__":
							UpperCAmelCase__  :     Tuple   			=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_05_22, type=int)
							UpperCAmelCase__  :     Tuple   			=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__  :     Any   			=[0] * args.vocab_size
							for k, v in counter.items():
														UpperCAmelCase__  :     Any   			=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)












import qiskit





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase			)  ->					qiskit.result.counts.Counts:
				lowerCamelCase			=qiskit.Aer.get_backend("""aer_simulator"""			)

				# Create a Quantum Circuit acting on the q register
				lowerCamelCase			=qiskit.QuantumCircuit(_UpperCAmelCase     , _UpperCAmelCase			)

				# Map the quantum measurement to the classical bits
				circuit.measure([0]     , [0]			)

				# Execute the circuit on the simulator
				lowerCamelCase			=qiskit.execute(_UpperCAmelCase     , _UpperCAmelCase     , shots=10_00			)

				# Return the histogram data of the results of the experiment.
				return job.result().get_counts(_UpperCAmelCase			)


if __name__ == "__main__":
							print(F"Total count for various states are: {single_qubit_measure(1, 1)}")





