aboutsummaryrefslogtreecommitdiffstats
path: root/gen_exps.py
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-04-21 13:28:38 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2013-04-21 13:28:38 -0400
commitfbd1df6f63eb551b99f71330d2370c570ff323f5 (patch)
treeca0db4599365bf8f4de7cd247c6363ef0ffba288 /gen_exps.py
parentdaa0e3a92e03a89baf7ea3750df374df79123245 (diff)
Scripts read directories created by other scripts if no arguments.
With no arguments, all scripts first try to load the current directory. If the current directory has no data, the scripts search for the output of the previous scripts in the toolchain, e.g. parse_exps.py loads run-data/*, created by run_exps.py. This commit also switched messages to stderr where they belong, and adds in missing lock and unlock overheads.
Diffstat (limited to 'gen_exps.py')
-rwxr-xr-xgen_exps.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/gen_exps.py b/gen_exps.py
index 6488cdc..b847661 100755
--- a/gen_exps.py
+++ b/gen_exps.py
@@ -7,6 +7,7 @@ import re
7import shutil as sh 7import shutil as sh
8import sys 8import sys
9 9
10from config.config import DEFAULTS
10from optparse import OptionParser 11from optparse import OptionParser
11 12
12def parse_args(): 13def parse_args():
@@ -15,7 +16,7 @@ def parse_args():
15 16
16 parser.add_option('-o', '--out-dir', dest='out_dir', 17 parser.add_option('-o', '--out-dir', dest='out_dir',
17 help='directory for data output', 18 help='directory for data output',
18 default=("%s/exps"%os.getcwd())) 19 default=("%s/%s"% (os.getcwd(), DEFAULTS['out-gen'])))
19 parser.add_option('-f', '--force', action='store_true', default=False, 20 parser.add_option('-f', '--force', action='store_true', default=False,
20 dest='force', help='overwrite existing data') 21 dest='force', help='overwrite existing data')
21 parser.add_option('-n', '--num-trials', default=1, type='int', dest='trials', 22 parser.add_option('-n', '--num-trials', default=1, type='int', dest='trials',
@@ -51,9 +52,9 @@ def main():
51 if opts.described != None: 52 if opts.described != None:
52 for generator in opts.described.split(','): 53 for generator in opts.described.split(','):
53 if generator not in gen.get_generators(): 54 if generator not in gen.get_generators():
54 print("No generator '%s'" % generator) 55 sys.stderr.write("No generator '%s'\n" % generator)
55 else: 56 else:
56 sys.stdout.write("Generator '%s', " % generator) 57 print("Generator '%s', " % generator)
57 gen.get_generators()[generator]().print_help() 58 gen.get_generators()[generator]().print_help()
58 if opts.list_gens or opts.described: 59 if opts.list_gens or opts.described:
59 return 0 60 return 0
@@ -85,7 +86,7 @@ def main():
85 if gen_name not in gen.get_generators(): 86 if gen_name not in gen.get_generators():
86 raise ValueError("Invalid generator '%s'" % gen_name) 87 raise ValueError("Invalid generator '%s'" % gen_name)
87 88
88 print("Creating experiments using %s generator..." % gen_name) 89 sys.stderr.write("Creating experiments with %s generator...\n" % gen_name)
89 90
90 params = dict(gen_params.items() + global_params.items()) 91 params = dict(gen_params.items() + global_params.items())
91 clazz = gen.get_generators()[gen_name] 92 clazz = gen.get_generators()[gen_name]
@@ -94,5 +95,7 @@ def main():
94 95
95 generator.create_exps(opts.out_dir, opts.force, opts.trials) 96 generator.create_exps(opts.out_dir, opts.force, opts.trials)
96 97
98 sys.stderr.write("Experiments saved in %s.\n" % opts.out_dir)
99
97if __name__ == '__main__': 100if __name__ == '__main__':
98 main() 101 main()