def main(out_path, bundle, workers=0, local=False): """Evaluate the pure multinomial model over a range of smoothing values.""" def yield_jobs(): run_data = borg.storage.RunData.from_bundle(bundle) validation = sklearn.cross_validation.KFold(len(run_data), 10, indices=False) for (train_mask, test_mask) in validation: split = uuid.uuid4() alphas = numpy.r_[1e-8:1e-1:64j] for alpha in alphas: yield (evaluate_split, [run_data, alpha, split, train_mask, test_mask]) with open(out_path, "w") as out_file: writer = csv.writer(out_file) writer.writerow( ["alpha", "instances", "split", "mean_log_probability"]) for (_, row) in condor.do(yield_jobs(), workers, local): writer.writerow(row) out_file.flush() if __name__ == "__main__": borg.script(main)
seed = numpy.random.randint(sys.maxint) yield (run_solver_on, [suite_path, solver_name, path, budget, store_answers, seed]) distributor = borg.distributors.make(distributor_name, workers=workers) for row in distributor.do(yield_runs()): # unpack run outcome (cnf_path, solver_name, budget, cost, succeeded, answer) = row if answer is None: answer_text = None else: answer_text = base64.b64encode(zlib.compress(pickle.dumps(answer))) # write it to disk csv_path = cnf_path + suffix existed = os.path.exists(csv_path) with open(csv_path, "a") as csv_file: writer = csv.writer(csv_file) if not existed: writer.writerow(["solver", "budget", "cost", "succeeded", "answer"]) writer.writerow([solver_name, budget, cost, succeeded, answer_text]) if __name__ == "__main__": borg.script(main)