



'''simple docstring'''






import datasets


A_							: Optional[Any]						 =	"\\n@InProceedings{conneau2018xnli,\n  author = \"Conneau, Alexis\n                 and Rinott, Ruty\n                 and Lample, Guillaume\n                 and Williams, Adina\n                 and Bowman, Samuel R.\n                 and Schwenk, Holger\n                 and Stoyanov, Veselin\",\n  title = \"XNLI: Evaluating Cross-lingual Sentence Representations\",\n  booktitle = \"Proceedings of the 2018 Conference on Empirical Methods\n               in Natural Language Processing\",\n  year = \"2018\",\n  publisher = \"Association for Computational Linguistics\",\n  location = \"Brussels, Belgium\",\n}\n"

A_							: str						 =	"\\nXNLI is a subset of a few thousand examples from MNLI which has been translated\ninto a 14 different languages (some low-ish resource). As with MNLI, the goal is\nto predict textual entailment (does sentence A imply/contradict/neither sentence\nB) and is a classification task (given two sentences, predict one of three\nlabels).\n"

A_							: List[str]						 =	"\nComputes XNLI score which is just simple accuracy.\nArgs:\n    predictions: Predicted labels.\n    references: Ground truth labels.\nReturns:\n    'accuracy': accuracy\nExamples:\n\n    >>> predictions = [0, 1]\n    >>> references = [0, 1]\n    >>> xnli_metric = datasets.load_metric(\"xnli\")\n    >>> results = xnli_metric.compute(predictions=predictions, references=references)\n    >>> print(results)\n    {'accuracy': 1.0}\n"




def     snake_case_					(     lowerCAmelCase_       ,   lowerCAmelCase_		)->		List[Any]:





       '''simple docstring'''


       return (preds == labels).mean()



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


 """simple docstring"""


 def _snake_case (							self							)		->   Union[str, Any]:
        return datasets.MetricInfo(
            description=_DESCRIPTION  ,citation=_CITATION  ,inputs_description=_KWARGS_DESCRIPTION  ,features=datasets.Features(
                {
                    """predictions""": datasets.Value("""int64""" if self.config_name != """sts-b""" else """float32"""							),
                    """references""": datasets.Value("""int64""" if self.config_name != """sts-b""" else """float32"""							),
                }							)  ,codebase_urls=[]  ,reference_urls=[]  ,format="""numpy"""  ,)







 def _snake_case (							self  ,a_  ,a_							)		->   Any:
        return {"accuracy": simple_accuracy(a_  ,a_							)}









import importlib
import sys
from argparse import REMAINDER, ArgumentParser
from pathlib import Path

import torch_xla.distributed.xla_multiprocessing as xmp





def 		__A		(	)      ->       Any:
	a										=							ArgumentParser(
	    description=(
	        """PyTorch TPU distributed training launch """
	        """helper utility that will spawn up """
	        """multiple distributed processes"""
	    )    )

	# Optional arguments for the launch helper
	parser.add_argument("""--num_cores"""							,			type=__lowerCamelCase							,			default=1							,			help="""Number of TPU cores to use (1 or 8)."""    )

	# positional
	parser.add_argument(
	    """training_script"""							,			type=__lowerCamelCase							,			help=(
	        """The full path to the single TPU training """
	        """program/script to be launched in parallel, """
	        """followed by all the arguments for the """
	        """training script"""
	    )							,			)

	# rest from the training program
	parser.add_argument("""training_script_args"""							,			nargs=__lowerCamelCase    )

	return parser.parse_args()





def 		__A		(	)      ->       Union[str, Any]:
	a										=							parse_args()

	# Import training_script as a module.
	a										=							Path(args.training_script    )
	sys.path.append(str(script_fpath.parent.resolve()    )    )
	a										=							script_fpath.stem
	a										=							importlib.import_module(__lowerCamelCase    )

	# Patch sys.argv
	a										=							[args.training_script] + args.training_script_args + ["""--tpu_num_cores""", str(args.num_cores    )]
	xmp.spawn(mod._mp_fn							,			args=()							,			nprocs=args.num_cores    )


if __name__ == "__main__":
		main()

