def main_gen_raw_results(experiment, named_data_sets, experiment_directory, do_multi, password="******", *margs, **mkwargs): logging.info("Generating work units") work_units = list(gen_work_units_iterable(experiment, named_data_sets, experiment_directory)) if len(work_units) == 0: return if do_multi: import mincemeat logging.info("Beginning mincemeat server") s = mincemeat.Server(lambda variation_info, wurs: len(wurs) >= variation_info.total_folds) s.datasource = OrderedDict(((wu, wu) for wu in work_units)) s.mapfn = mapfn s.reducefn = work_reducer s.run_server(password=password) logging.info("Ending mincemeat server") else: work_unit_results = (main_gen_work_unit_result(work_unit) for work_unit in work_units) for key, group in groupby(work_unit_results, lambda wur: wur.work_unit.variation_info): group = list(group) work_reducer(key, group)
def mapfn(k, work_unit): from WorkerUnit import main_gen_work_unit_result print "Mapping %s" % str(work_unit) res = (work_unit.variation_info, main_gen_work_unit_result(work_unit)) yield res