


"""simple docstring"""



import qiskit







def   __lowerCAmelCase						(						lowercase  :  int = 2			)     ->						qiskit.result.counts.Counts:


    """simple docstring"""





    snake_case   :				Union[str, Any]				 =   qubits

    # Using Aer's simulator
    snake_case   :				List[Any]				 =   qiskit.Aer.get_backend("aer_simulator"			)

    # Creating a Quantum Circuit acting on the q register
    snake_case   :				str				 =   qiskit.QuantumCircuit(lowercase						,							lowercase			)

    # Adding a H gate on qubit 0 (now q0 in superposition)
    circuit.h(0			)

    for i in range(1						,							lowercase			):
        # Adding CX (CNOT) gate
        circuit.cx(i - 1						,							lowercase			)

    # Mapping the quantum measurement to the classical bits
    circuit.measure(list(range(lowercase			)			)						,							list(range(lowercase			)			)			)

    # Now measuring any one qubit would affect other qubits to collapse
    # their super position and have same state as the measured one.

    # Executing the circuit on the simulator
    snake_case   :				int				 =   qiskit.execute(lowercase						,							lowercase						,							shots=1000			)

    return job.result().get_counts(lowercase			)


if __name__ == "__main__":
  print(F'''Total count for various states are: {quantum_entanglement(3)}''')









"""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
)
__snake_case             =   logging.getLogger(__name__)

if __name__ == "__main__":
  __snake_case             =   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=30522, type=int)
  __snake_case             =   parser.parse_args()

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

  logger.info("""Counting occurrences for MLM.""")
  __snake_case             =   Counter()
  for tk_ids in data:
    counter.update(tk_ids)
  __snake_case             =   [0] * args.vocab_size
  for k, v in counter.items():
    __snake_case             =   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)





