"""simple docstring"""





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

import torch_xla.distributed.xla_multiprocessing as xmp





def        a_  (   ):





       '''simple docstring'''

       lowercase__    :	int     					=			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_  (   ):





       '''simple docstring'''

       lowercase__    :	Optional[int]     					=			parse_args()

       # Import training_script as a module.
       lowercase__    :	Union[str, Any]     					=			Path(args.training_script  )
       sys.path.append(str(script_fpath.parent.resolve()  )  )
       lowercase__    :	Any     					=			script_fpath.stem
       lowercase__    :	Tuple     					=			importlib.import_module(_lowerCAmelCase  )

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


"""simple docstring"""





from .glue import GlueDataset, GlueDataTrainingArguments
from .language_modeling import (
    LineByLineTextDataset,
    LineByLineWithRefDataset,
    LineByLineWithSOPTextDataset,
    TextDataset,
    TextDatasetForNextSentencePrediction,
)
from .squad import SquadDataset, SquadDataTrainingArguments

