Diff of /tasks_adapt/generate.py [000000] .. [5d1c0a]

Switch to side-by-side view

--- a
+++ b/tasks_adapt/generate.py
@@ -0,0 +1,69 @@
+'''Training script generator for subject-adaptive classification.
+'''
+from os import makedirs
+from os.path import join as pjoin
+
+with open(pjoin('tasks_adapt', 'script.sh.template'), 'r') as f:
+    sh_template = f.read()
+with open(pjoin('tasks_adapt', 'train.pbs.template'), 'r') as f:
+    pbs_template = f.read()
+
+
+def list_to_str(l):
+    return ' '.join(map(str, l))
+
+
+command_template = "python train_adapt.py $datapath $modelpath ./result_adapt{0}/r{1} -scheme {0} -trfrate {1} -gpu {2} > $logpath/stdout.r{1}.out &"
+
+for scheme in range(1, 6):
+    tasks_dir = "tasks_adapt{}".format(scheme)
+    result_dir = "result_adapt{}".format(scheme)
+
+    makedirs(tasks_dir, exist_ok=True)
+    for rate in range(10, 101, 10):
+        makedirs(pjoin(result_dir, "r{}".format(rate)), exist_ok=True)
+
+    commands = []
+    for ind, rate in enumerate(range(10, 81, 10)):
+        commands.append(command_template.format(scheme, rate, ind))
+    commands.append('wait')
+    content = sh_template.format(scheme) + '\n'.join(commands)
+    ncpu = 40
+    ngpu = 8
+    with open(pjoin(tasks_dir, 'script.' + str(0) + '.sh'), 'w') as f:
+        f.write(content)
+    content = pbs_template.format(0, scheme, ncpu, ngpu)
+    with open(pjoin(tasks_dir, 'train.' + str(0) + '.pbs'), 'w') as f:
+        f.write(content)
+
+tasks_dir = "tasks_adaptr"
+command_template = "python train_adapt.py $datapath $modelpath ./result_adapt{0}/r{1} -scheme {0} -trfrate {1} -gpu {2} > $logpath/stdout.s{0}.r{1}.out &"
+makedirs(tasks_dir, exist_ok=True)
+commands = []
+for scheme in range(1, 5):
+    for ind, rate in enumerate(range(90, 101, 10)):
+        igpu = (scheme - 1) * 2 + ind
+        commands.append(command_template.format(scheme, rate, igpu))
+commands.append('wait')
+content = sh_template.format('r') + '\n'.join(commands)
+ncpu = 40
+ngpu = 8
+with open(pjoin(tasks_dir, 'script.' + str(0) + '.sh'), 'w') as f:
+    f.write(content)
+content = pbs_template.format(0, 'r', ncpu, ngpu)
+with open(pjoin(tasks_dir, 'train.' + str(0) + '.pbs'), 'w') as f:
+    f.write(content)
+
+commands = []
+scheme = 5
+for ind, rate in enumerate(range(90, 101, 10)):
+    commands.append(command_template.format(scheme, rate, ind))
+commands.append('wait')
+content = sh_template.format('r') + '\n'.join(commands)
+ncpu = 10
+ngpu = 2
+with open(pjoin(tasks_dir, 'script.' + str(1) + '.sh'), 'w') as f:
+    f.write(content)
+content = pbs_template.format(1, 'r', ncpu, ngpu)
+with open(pjoin(tasks_dir, 'train.' + str(1) + '.pbs'), 'w') as f:
+    f.write(content)