aboutsummaryrefslogtreecommitdiffstats
path: root/parse_exps.py
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-02-08 11:54:49 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-02-08 11:54:49 -0500
commitd312e270ed5c2926c8651291a4026062213876f8 (patch)
tree94992d8562332ae84be9f2b5aba169f0e287ea51 /parse_exps.py
parent2b416f696a50f4ae264d5aec8c78fa7686cc7927 (diff)
ColMaps are now created by ColMapBuilders which order columns by their number
of distinct values.
Diffstat (limited to 'parse_exps.py')
-rwxr-xr-xparse_exps.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/parse_exps.py b/parse_exps.py
index 5228cbe..1bd3d48 100755
--- a/parse_exps.py
+++ b/parse_exps.py
@@ -11,9 +11,9 @@ import sys
11from collections import namedtuple 11from collections import namedtuple
12from common import load_params 12from common import load_params
13from optparse import OptionParser 13from optparse import OptionParser
14from parse.dir_map import DirMap
15from parse.point import ExpPoint 14from parse.point import ExpPoint
16from parse.tuple_table import ColMap,TupleTable 15from parse.tuple_table import TupleTable
16from parse.col_map import ColMapBuilder
17 17
18 18
19def parse_args(): 19def parse_args():
@@ -41,17 +41,17 @@ def parse_args():
41 41
42ExpData = namedtuple('ExpData', ['path', 'params', 'work_dir']) 42ExpData = namedtuple('ExpData', ['path', 'params', 'work_dir'])
43 43
44def get_exp_params(data_dir, col_map): 44def get_exp_params(data_dir, cm_builder):
45 param_file = "%s/%s" % (data_dir, conf.DEFAULTS['params_file']) 45 param_file = "%s/%s" % (data_dir, conf.DEFAULTS['params_file'])
46 if not os.path.isfile: 46 if not os.path.isfile:
47 raise Exception("No param file '%s' exists!" % param_file) 47 raise Exception("No param file '%s' exists!" % param_file)
48 48
49 params = load_params(param_file) 49 params = load_params(param_file)
50 50
51 # Store parameters in col_map, which will track which parameters change 51 # Store parameters in cm_builder, which will track which parameters change
52 # across experiments 52 # across experiments
53 for key, value in params.iteritems(): 53 for key, value in params.iteritems():
54 col_map.try_add(key, value) 54 cm_builder.try_add(key, value)
55 55
56 # Cycles must be present for feather-trace measurement parsing 56 # Cycles must be present for feather-trace measurement parsing
57 if conf.PARAMS['cycles'] not in params: 57 if conf.PARAMS['cycles'] not in params:
@@ -60,7 +60,7 @@ def get_exp_params(data_dir, col_map):
60 return params 60 return params
61 61
62 62
63def load_exps(exp_dirs, col_map, clean): 63def load_exps(exp_dirs, cm_builder, clean):
64 exps = [] 64 exps = []
65 65
66 sys.stderr.write("Loading experiments...\n") 66 sys.stderr.write("Loading experiments...\n")
@@ -77,7 +77,7 @@ def load_exps(exp_dirs, col_map, clean):
77 if not os.path.exists(work_dir): 77 if not os.path.exists(work_dir):
78 os.mkdir(work_dir) 78 os.mkdir(work_dir)
79 79
80 params = get_exp_params(data_dir, col_map) 80 params = get_exp_params(data_dir, cm_builder)
81 81
82 exps += [ ExpData(data_dir, params, work_dir) ] 82 exps += [ ExpData(data_dir, params, work_dir) ]
83 83
@@ -88,15 +88,16 @@ def main():
88 88
89 args = args or [os.getcwd()] 89 args = args or [os.getcwd()]
90 90
91 # Load exp parameters into col_map 91 # Load exp parameters into a ColMap
92 col_map = ColMap() 92 builder = ColMapBuilder()
93 exps = load_exps(args, col_map, opts.force) 93 exps = load_exps(args, builder, opts.force)
94 94
95 # Don't track changes in ignored parameters 95 # Don't track changes in ignored parameters
96 if opts.ignore: 96 if opts.ignore:
97 for param in opts.ignore.split(","): 97 for param in opts.ignore.split(","):
98 col_map.try_remove(param) 98 builder.try_remove(param)
99 99
100 col_map = builder.build()
100 result_table = TupleTable(col_map) 101 result_table = TupleTable(col_map)
101 102
102 sys.stderr.write("Parsing data...\n") 103 sys.stderr.write("Parsing data...\n")