


'''simple docstring'''
import os

from bleurt import score  # From: git+https://github.com/google-research/bleurt.git

import datasets


UpperCamelCase__          = datasets.logging.get_logger(__name__)


UpperCamelCase__          = '''\\n@inproceedings{bleurt,\n  title={BLEURT: Learning Robust Metrics for Text Generation},\n  author={Thibault Sellam and Dipanjan Das and Ankur P. Parikh},\n  booktitle={ACL},\n  year={2020},\n  url={https://arxiv.org/abs/2004.04696}\n}\n'''

UpperCamelCase__          = '''\\nBLEURT a learnt evaluation metric for Natural Language Generation. It is built using multiple phases of transfer learning starting from a pretrained BERT model (Devlin et al. 2018)\nand then employing another pre-training phrase using synthetic data. Finally it is trained on WMT human annotations. You may run BLEURT out-of-the-box or fine-tune\nit for your specific application (the latter is expected to perform better).\n\nSee the project\'s README at https://github.com/google-research/bleurt#readme for more information.\n'''

UpperCamelCase__          = '''\nBLEURT score.\n\nArgs:\n    `predictions` (list of str): prediction/candidate sentences\n    `references` (list of str): reference sentences\n    `checkpoint` BLEURT checkpoint. Will default to BLEURT-tiny if None.\n\nReturns:\n    \'scores\': List of scores.\nExamples:\n\n    >>> predictions = [\"hello there\", \"general kenobi\"]\n    >>> references = [\"hello there\", \"general kenobi\"]\n    >>> bleurt = datasets.load_metric(\"bleurt\")\n    >>> results = bleurt.compute(predictions=predictions, references=references)\n    >>> print([round(v, 2) for v in results[\"scores\"]])\n    [1.03, 1.04]\n'''

UpperCamelCase__          = {
    '''bleurt-tiny-128''': '''https://storage.googleapis.com/bleurt-oss/bleurt-tiny-128.zip''',
    '''bleurt-tiny-512''': '''https://storage.googleapis.com/bleurt-oss/bleurt-tiny-512.zip''',
    '''bleurt-base-128''': '''https://storage.googleapis.com/bleurt-oss/bleurt-base-128.zip''',
    '''bleurt-base-512''': '''https://storage.googleapis.com/bleurt-oss/bleurt-base-512.zip''',
    '''bleurt-large-128''': '''https://storage.googleapis.com/bleurt-oss/bleurt-large-128.zip''',
    '''bleurt-large-512''': '''https://storage.googleapis.com/bleurt-oss/bleurt-large-512.zip''',
    '''BLEURT-20-D3''': '''https://storage.googleapis.com/bleurt-oss-21/BLEURT-20-D3.zip''',
    '''BLEURT-20-D6''': '''https://storage.googleapis.com/bleurt-oss-21/BLEURT-20-D6.zip''',
    '''BLEURT-20-D12''': '''https://storage.googleapis.com/bleurt-oss-21/BLEURT-20-D12.zip''',
    '''BLEURT-20''': '''https://storage.googleapis.com/bleurt-oss-21/BLEURT-20.zip''',
}




@datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION	,			_KWARGS_DESCRIPTION )
class      lowerCamelCase_  (      datasets.Metric ):






      def lowercase_				(   self							:       List[str]					):


          '''simple docstring'''


          return datasets.MetricInfo(
              description=_DESCRIPTION		,		citation=_CITATION		,		homepage='''https://github.com/google-research/bleurt'''		,		inputs_description=_KWARGS_DESCRIPTION		,		features=datasets.Features(
                  {
                      '''predictions''': datasets.Value('''string'''		,		id='''sequence'''					),
                      '''references''': datasets.Value('''string'''		,		id='''sequence'''					),
                  }					)		,		codebase_urls=['''https://github.com/google-research/bleurt''']		,		reference_urls=['''https://github.com/google-research/bleurt''', '''https://arxiv.org/abs/2004.04696''']		,		)






      def lowercase_				(   self							:       Any		,		_A							:       Any					):


          '''simple docstring'''


          if self.config_name == "default":
              logger.warning(
                  '''Using default BLEURT-Base checkpoint for sequence maximum length 128. '''
                  '''You can use a bigger model for better results with e.g.: datasets.load_metric(\'bleurt\', \'bleurt-large-512\').'''					)
              UpperCAmelCase__     :						str						=							"bleurt-base-128"

          if self.config_name.lower() in CHECKPOINT_URLS:
              UpperCAmelCase__     :						Dict						=							self.config_name.lower()

          elif self.config_name.upper() in CHECKPOINT_URLS:
              UpperCAmelCase__     :						Dict						=							self.config_name.upper()

          else:
              raise KeyError(
                  f"""{self.config_name} model not found. You should supply the name of a model checkpoint for bleurt in {CHECKPOINT_URLS.keys()}"""					)

          # download the model checkpoint specified by self.config_name and set up the scorer
          UpperCAmelCase__     :						Optional[Any]						=							dl_manager.download_and_extract(CHECKPOINT_URLS[checkpoint_name]					)
          UpperCAmelCase__     :						Dict						=							score.BleurtScorer(os.path.join(_A		,		_A					)					)






      def lowercase_				(   self							:       Union[str, Any]		,		_A							:       List[str]		,		_A							:       Union[str, Any]					):


          '''simple docstring'''


          UpperCAmelCase__     :						Optional[int]						=							self.scorer.score(references=_A		,		candidates=_A					)
          return {"scores": scores}




import qiskit


def     lowercase	(    a     , a ):



		'''simple docstring'''




		SCREAMING_SNAKE_CASE_				:int				     =						qiskit.Aer.get_backend("aer_simulator" )

		# Create a Quantum Circuit acting on the q register
		SCREAMING_SNAKE_CASE_				:Union[str, Any]				     =						qiskit.QuantumCircuit(a     , a )

		# Apply X (NOT) Gate to Qubits 0 & 1
		circuit.x(0 )
		circuit.x(1 )

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

		# Execute the circuit on the qasm simulator
		SCREAMING_SNAKE_CASE_				:Any				     =						qiskit.execute(a     , a     , shots=1000 )

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


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






