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

import torch_xla.distributed.xla_multiprocessing as xmp






def 						__magic_name__			(   ):



					'''simple docstring'''




					UpperCamelCase__				=    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=__a	,		default=1	,		help="""Number of TPU cores to use (1 or 8)."""						)

					# positional
					parser.add_argument(
					    """training_script"""	,		type=__a	,		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=__a						)

					return parser.parse_args()






def 						__magic_name__			(   ):



					'''simple docstring'''




					UpperCamelCase__				=    parse_args()

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

					# Patch sys.argv
					UpperCamelCase__				=    [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()







from typing import TYPE_CHECKING

from ...utils import _LazyModule


lowerCamelCase_						     =					{'''processing_wav2vec2_with_lm''': ['''Wav2Vec2ProcessorWithLM''']}


if TYPE_CHECKING:
    from .processing_wavaveca_with_lm import WavaVecaProcessorWithLM
else:
    import sys

    lowerCamelCase_						     =					_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)





