Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
                    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)