in dora/run.py [0:0]
def run_action(args, main: DecoratedMain):
xp = main.get_xp(args.argv)
with ExitStack() as stack:
if args.git_save and '_DORA_GIT_SAVE_DONE' not in os.environ:
os.environ['_DORA_GIT_SAVE_DONE'] = '1'
clone = git_save.get_new_clone(main.dora)
git_save.assign_clone(xp, clone)
stack.enter_context(git_save.enter_clone(clone))
os.execv(sys.executable, [sys.executable, "-m", "dora"] + sys.argv[1:])
if args.ddp and not os.environ.get('RANK'):
check_job_and_clear(args.argv, main, args.clear)
start_ddp_workers(args.package, main, args.argv)
else:
if 'WORLD_SIZE' not in os.environ:
check_job_and_clear(args.argv, main, args.clear)
os.environ['RANK'] = '0'
os.environ['WORLD_SIZE'] = '1'
sys.argv[1:] = args.argv
disable_logging() # disable logging to avoid messing up with the wrapped project.
main()