From 89a31d1229d77abd9b9fbb2c8ee6100b199142ce Mon Sep 17 00:00:00 2001 From: Franck Dary <franck.dary@lis-lab.fr> Date: Tue, 31 Mar 2020 19:10:45 +0200 Subject: [PATCH] Added script to launch batches of experiments --- .gitignore | 3 +++ UD_any/launchBatches.py | 59 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100755 UD_any/launchBatches.py diff --git a/.gitignore b/.gitignore index e660fd9..d74fb18 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ bin/ +*\.stderr +*\.stdout +__pycache__ diff --git a/UD_any/launchBatches.py b/UD_any/launchBatches.py new file mode 100755 index 0000000..b4294c4 --- /dev/null +++ b/UD_any/launchBatches.py @@ -0,0 +1,59 @@ +#! /usr/bin/python3 + +import sys +import os +import subprocess + +############################################################################### +def printUsageAndExit() : + print("USAGE : %s (train | eval) (bash | oar) batchesDescription.py"%sys.argv[0], + file=sys.stderr) + exit(1) +############################################################################### + +############################################################################### +def prepareExperiment(lang, template, expName) : + subprocess.Popen("./prepareExperiment.sh %s %s %s"%(lang,template,expName), + shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).wait() +############################################################################### + +############################################################################### +def launchTrain(mode, expName, arguments, launcher) : + if launcher == "bash" : + launchTrainBash(mode, expName, arguments) +############################################################################### + +############################################################################### +def launchTrainBash(mode, expName, arguments) : + devScore = "--devScore" + subprocess.Popen("./train.sh %s bin/%s %s --silent %s"%(mode,expName,arguments,devScore), + shell=True, stdout=open("%s.stdout"%expName,'w'), stderr=open("%s.stderr"%expName,'w')) +############################################################################### + +############################################################################### +if __name__ == "__main__" : + if len(sys.argv) != 4 : + printUsageAndExit() + + mode = sys.argv[1] + launcher = sys.argv[2] + batchesDescription = sys.argv[3] + + if mode not in ["train","eval"] or launcher not in ["bash","oar"] : + printUsageAndExit() + + desc = __import__(os.path.splitext(batchesDescription)[0]) + + for lang in desc.langs : + for xp in desc.templatesExperiments : + for i in range(desc.nbReplicas) : + xp['lang'] = lang + xp['expName'] = xp['expName'].split('.')[0]+"."+str(i) + if mode == "train" : + prepareExperiment(xp['lang'],xp['template'],xp['expName']) + launchTrain(xp['mode'],xp['expName'],xp['arguments'],launcher) + else : + print("todo") + +############################################################################### + -- GitLab