Ejemplo n.º 1
0
def main():
    prog = "python plotBranin.py whatIsThis <onepkl> [whatIsThis] <onepkl>]"
    description = "Plot a Trace with std for multiple experiments"

    parser = ArgumentParser(description=description, prog=prog)

    parser.add_argument("-s", "--save", dest="save", default="",
                        help="Where to save plot instead of showing it?")
    parser.add_argument("-t", "--title", dest="title", default="",
                        help="Optional supertitle for plot")

    args, unknown = parser.parse_known_args()

    if len(unknown) % 2 != 0:
        print "Wrong number of arguments", len(args)
        print prog
        sys.exit(1)

    pkl_list, name_list = plotUtil.get_pkl_and_name_list(unknown)
    trial_list = list()
    for i in range(len(name_list)):
        result_file = pkl_list[i][0]
        fh = open(result_file, "r")
        trials = cPickle.load(fh)
        fh.close()
        trial_list.append(trials)

    plot_contour(trial_list=trial_list, name_list=name_list, save=args.save, title=args.title)
Ejemplo n.º 2
0
def main():
    prog = "python plotBranin.py whatIsThis <onepkl> [whatIsThis] <onepkl>]"
    description = "Plot a Trace with std for multiple experiments"

    parser = ArgumentParser(description=description, prog=prog)

    parser.add_argument("-s",
                        "--save",
                        dest="save",
                        default="",
                        help="Where to save plot instead of showing it?")
    parser.add_argument("-t",
                        "--title",
                        dest="title",
                        default="",
                        help="Optional supertitle for plot")

    args, unknown = parser.parse_known_args()

    if len(unknown) % 2 != 0:
        print "Wrong number of arguments", len(args)
        print prog
        sys.exit(1)

    pkl_list, name_list = plotUtil.get_pkl_and_name_list(unknown)
    trial_list = list()
    for i in range(len(name_list)):
        result_file = pkl_list[i][0]
        fh = open(result_file, "r")
        trials = cPickle.load(fh)
        fh.close()
        trial_list.append(trials)

    plot_contour(trial_list=trial_list,
                 name_list=name_list,
                 save=args.save,
                 title=args.title)
Ejemplo n.º 3
0
    if len(value_list) == 0:
        print("No values found for param '%s', Available params:\n%s" %
              (param, "\n".join([p[1:] for p in param_set])))
        sys.exit(1)
    else:
        print "Found %s values for %s" % (str(len(value_list)), param)

    plot_params(value_list=value_list, result_list=result_list, name=param, save=save, title=title,
                jitter=jitter)

if __name__ == "__main__":
    prog = "python plot_param.py WhatIsThis <pathTo.pkl>* "
    description = "Plot one param wrt to minfunction value"

    parser = ArgumentParser(description=description, prog=prog)
    parser.add_argument("-s", "--save", dest="save", default="",
                        help="Where to save plot instead of showing it?")
    parser.add_argument("-p", "--parameter", dest="param", default="",
                        help="Which parameter to plot")
    parser.add_argument("-j", "--jitter", dest="jitter", default=0, type=float,
                        help="Jitter data?")
    parser.add_argument("-t", "--title", dest="title", default="",
                        help="Choose a supertitle for the plot")

    args, unknown = parser.parse_known_args()

    sys.stdout.write("\nFound " + str(len(unknown)) + " argument[s]...\n")
    pkl_list_main, name_list_main = plot_util.get_pkl_and_name_list(unknown)
    main(pkl_list=pkl_list_main, name_list=name_list_main, param=args.param,
         save=args.save, title=args.title, jitter=args.jitter)
Ejemplo n.º 4
0
                        default="",
                        help="Where to save plot instead of showing it?")
    parser.add_argument("-t",
                        "--title",
                        dest="title",
                        default="",
                        help="Choose a supertitle for the plot")

    # Options which are available only for this plot
    parser.add_argument("-a",
                        "--autofill",
                        action="store_true",
                        dest="autofill",
                        default=False,
                        help="Fill trace automatically")

    args, unknown = parser.parse_known_args()

    sys.stdout.write("\nFound " + str(len(unknown)) + " arguments\n")

    pkl_list_main, name_list_main = plot_util.get_pkl_and_name_list(unknown)
    main(pkl_list_main,
         name_list_main,
         autofill=args.autofill,
         title=args.title,
         log=args.log,
         save=args.save,
         y_min=args.min,
         y_max=args.max,
         cut=args.cut)
Ejemplo n.º 5
0
def main():

    prog = "python doAllPlots.py WhatIsThis <oneOrMorePickles> [WhatIsThis <oneOrMorePickles>]"
    description = "Tries to save as many plots as possible"

    parser = ArgumentParser(description=description, prog=prog)

    # General Options
    parser.add_argument("-l", "--log", action="store_true", dest="log",
                        default=False, help="Plot on log scale")
    parser.add_argument("-s", "--save", dest="save",
                        default="", help="Where to save plots? (directory)")
    parser.add_argument("-f", "--file", dest="file",
                        default="pdf", help="File ending")
    parser.add_argument("-c", "--cut", dest="cut", default=sys.maxint,
                        type=int, help="Cut experiment pickles after a specified number of trials.")

    args, unknown = parser.parse_known_args()

    sys.stdout.write("Found " + str(len(unknown)) + " arguments\n")

    save_dir = os.path.realpath(args.save)

    log = args.log

    pkl_list, name_list = plot_util.get_pkl_and_name_list(unknown)

    if len(pkl_list) == 0:
        raise ValueError("You must at least provide one experiment pickle.")

    time_str = int(time.time() % 1000)

    if not os.path.isdir(save_dir) and save_dir is not "":
        os.mkdir(save_dir)

    for i in range(len(pkl_list)):
        for j in range(len(pkl_list[i])):
            if os.path.exists(pkl_list[i][j]):
                pkl_list[i][j] = os.path.abspath(pkl_list[i][j])
            else:
                raise NotImplementedError("%s is not a valid file" % pkl_list[i][j])

    if len(name_list) == 1 and name_list[0][1] == 1:
        # We have one exp and one pkl
        if save_dir is not "":
            tmp_save = os.path.join(save_dir, "plotTrace_%s.%s" % (time_str, args.file))
        else:
            tmp_save = save_dir
        sys.stdout.write("plotTrace.py ... %s ..." % tmp_save)
        _plot_trace(pkl_list=pkl_list, name_list=name_list, save=tmp_save,
                    log=log, cut=args.cut)

    if len(name_list) > 1:
        # Some plots only make sense, if there are many experiments
        # BoxWhisker
        if save_dir is not "":
            tmp_save = os.path.join(save_dir, "BoxWhisker_%s.%s" % (time_str, args.file))
        else:
            tmp_save = save_dir
        sys.stdout.write("plotBoxWhisker.py ... %s ..." % tmp_save)
        _box_whisker(pkl_list=pkl_list, name_list=name_list, save=tmp_save,
                     log=log, cut=args.cut)

        # LaTeX table
        if save_dir is not "":
            tmp_save = os.path.join(save_dir, "table_%s.tex" % time_str)
        else:
            tmp_save = save_dir
        sys.stdout.write("generateTexTable.py ... %s ..." % tmp_save)
        ret = _generate_tex_table(pkl_list=pkl_list, name_list=name_list,
                            save=tmp_save, log=log, cut=args.cut)
        if ret is not None:
            print ret


    # We can always plot this
    # OptimizerOverhead
    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "OptimizerOverhead_%s.%s" % (time_str, args.file))
    else:
        tmp_save = save_dir
    sys.stdout.write("plotOptimizerOverhead.py ... %s ..." % tmp_save)
    _optimizer_overhead(pkl_list=pkl_list, name_list=name_list, save=tmp_save,
                        log=log, cut=args.cut)

    # statistics
    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "statistics_%s.txt" % time_str)
    else:
        tmp_save = save_dir
    sys.stdout.write("statistics.py ... %s ..." % tmp_save)
    _statistics(pkl_list=pkl_list, name_list=name_list, save=tmp_save,
                log=log, cut=args.cut)

    # Error Trace with Std
    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "TraceWithStd_perEval_%s.%s" % (time_str, args.file))
    else:
        tmp_save = save_dir
    sys.stdout.write("TraceWithStd_perEval.py ... %s ..." % tmp_save)
    _trace_with_std_per_eval(pkl_list=pkl_list, name_list=name_list,
                             save=tmp_save, log=log, cut=args.cut)

    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "TraceWithStd_perTime_%s.%s" % (time_str, args.file))
    else:
        tmp_save = save_dir
    sys.stdout.write("TraceWithStd_perTime.py ... %s ..." % tmp_save)
    _trace_with_std_per_time(pkl_list=pkl_list, name_list=name_list,
                             save=tmp_save, log=log, cut=args.cut)
Ejemplo n.º 6
0
def main():

    prog = "python doAllPlots.py WhatIsThis <oneOrMorePickles> [WhatIsThis <oneOrMorePickles>]"
    description = "Tries to save as many plots as possible"

    parser = ArgumentParser(description=description, prog=prog)

    # General Options
    parser.add_argument("-l", "--log", action="store_true", dest="log", default=False, help="Plot on log scale")
    parser.add_argument("-s", "--save", dest="save", default="", help="Where to save plots? (directory)")
    parser.add_argument("-f", "--file", dest="file", default="pdf", help="File ending")
    parser.add_argument(
        "-c",
        "--cut",
        dest="cut",
        default=sys.maxint,
        type=int,
        help="Cut experiment pickles after a specified number of trials.",
    )

    args, unknown = parser.parse_known_args()

    sys.stdout.write("Found " + str(len(unknown)) + " arguments\n")

    save_dir = os.path.realpath(args.save)

    log = args.log

    pkl_list, name_list = plot_util.get_pkl_and_name_list(unknown)

    if len(pkl_list) == 0:
        raise ValueError("You must at least provide one experiment pickle.")

    time_str = int(time.time() % 1000)

    if not os.path.isdir(save_dir) and save_dir is not "":
        os.mkdir(save_dir)

    for i in range(len(pkl_list)):
        for j in range(len(pkl_list[i])):
            if os.path.exists(pkl_list[i][j]):
                pkl_list[i][j] = os.path.abspath(pkl_list[i][j])
            else:
                raise NotImplementedError("%s is not a valid file" % pkl_list[i][j])

    if len(name_list) == 1 and name_list[0][1] == 1:
        # We have one exp and one pkl
        if save_dir is not "":
            tmp_save = os.path.join(save_dir, "plotTrace_%s.%s" % (time_str, args.file))
        else:
            tmp_save = save_dir
        sys.stdout.write("plotTrace.py ... %s ..." % tmp_save)
        _plot_trace(pkl_list=pkl_list, name_list=name_list, save=tmp_save, log=log, cut=args.cut)

    if len(name_list) > 1:
        # Some plots only make sense, if there are many experiments
        # BoxWhisker
        if save_dir is not "":
            tmp_save = os.path.join(save_dir, "BoxWhisker_%s.%s" % (time_str, args.file))
        else:
            tmp_save = save_dir
        sys.stdout.write("plotBoxWhisker.py ... %s ..." % tmp_save)
        _box_whisker(pkl_list=pkl_list, name_list=name_list, save=tmp_save, log=log, cut=args.cut)

        # LaTeX table
        if save_dir is not "":
            tmp_save = os.path.join(save_dir, "table_%s.tex" % time_str)
        else:
            tmp_save = save_dir
        sys.stdout.write("generateTexTable.py ... %s ..." % tmp_save)
        ret = _generate_tex_table(pkl_list=pkl_list, name_list=name_list, save=tmp_save, log=log, cut=args.cut)
        if ret is not None:
            print ret

    # We can always plot this
    # OptimizerOverhead
    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "OptimizerOverhead_%s.%s" % (time_str, args.file))
    else:
        tmp_save = save_dir
    sys.stdout.write("plotOptimizerOverhead.py ... %s ..." % tmp_save)
    _optimizer_overhead(pkl_list=pkl_list, name_list=name_list, save=tmp_save, log=log, cut=args.cut)

    # statistics
    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "statistics_%s.txt" % time_str)
    else:
        tmp_save = save_dir
    sys.stdout.write("statistics.py ... %s ..." % tmp_save)
    _statistics(pkl_list=pkl_list, name_list=name_list, save=tmp_save, log=log, cut=args.cut)

    # Error Trace with Std
    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "TraceWithStd_perEval_%s.%s" % (time_str, args.file))
    else:
        tmp_save = save_dir
    sys.stdout.write("TraceWithStd_perEval.py ... %s ..." % tmp_save)
    _trace_with_std_per_eval(pkl_list=pkl_list, name_list=name_list, save=tmp_save, log=log, cut=args.cut)

    if save_dir is not "":
        tmp_save = os.path.join(save_dir, "TraceWithStd_perTime_%s.%s" % (time_str, args.file))
    else:
        tmp_save = save_dir
    sys.stdout.write("TraceWithStd_perTime.py ... %s ..." % tmp_save)
    _trace_with_std_per_time(pkl_list=pkl_list, name_list=name_list, save=tmp_save, log=log, cut=args.cut)