Ejemplo n.º 1
0
def main():
    # pylint: disable=missing-function-docstring
    setup_logging()
    cmdargs = parse_cmdargs()

    dgen, args, model, _outdir, plotdir = standard_eval_prologue(cmdargs)

    truth_array, preds_array = get_truth_preds_arrays(dgen, model)
    sgn_bkg_cumsums          = calc_sgn_bkg_cumsums(
        truth_array, preds_array, dgen.weights, cmdargs.bins
    )

    fom_dict = {
        k : calc_foms(sgn_bkg_cumsums, func) \
            for k, func in FOM_SPEC_DICT.items()
    }

    labels = convert_targets_to_labels(args.target_pdg_iscc_list)

    for fom_label, rhist_fom_list in fom_dict.items():
        plot_separate_foms(
            rhist_fom_list, labels, fom_label, plotdir, cmdargs.ext
        )

    plot_overlayed_foms(
        fom_dict, [ 'efficiency', 'purity', 'selection' ],
        labels, plotdir, cmdargs.ext
    )
Ejemplo n.º 2
0
def main():
    # pylint: disable=missing-function-docstring
    setup_logging()
    cmdargs = parse_cmdargs()

    dgen, args, model, _outdir, plotdir = standard_eval_prologue(cmdargs)

    truth_array, preds_array = get_truth_preds_arrays(dgen, model)
    labels = convert_targets_to_labels(args.target_pdg_iscc_list)

    truth = truth_array[:cmdargs.limit]
    preds = preds_array[:cmdargs.limit, :]

    embedded_preds = calc_embedding(preds, cmdargs.perplexity, cmdargs.dims)

    fname_base = 'tsne_%d_perp(%e)_lim(%d)' % (
        cmdargs.dims, cmdargs.perplexity, cmdargs.limit)

    fname_base = os.path.join(plotdir, fname_base)

    if cmdargs.dims == 2:
        plot_2d_embedding_scatter(truth, embedded_preds, labels, fname_base,
                                  cmdargs.ext)
        plot_2d_embedding_density(truth, embedded_preds, labels, cmdargs.bins,
                                  fname_base, cmdargs.ext)
Ejemplo n.º 3
0
def main():
    # pylint: disable=missing-function-docstring
    setup_logging()
    cmdargs = parse_cmdargs()

    dgen, args, reco_preds, outdir, plotdir = reco_eval_prologue(cmdargs)

    err_mat = calc_reco_err_matrix(reco_preds, dgen)
    save_error_matrix(outdir, err_mat)

    labels = convert_targets_to_labels(args.target_pdg_iscc_list)
    plot_error_matrix(err_mat, labels, plotdir, cmdargs.ext)
Ejemplo n.º 4
0
def main():
    # pylint: disable=missing-function-docstring
    setup_logging()
    cmdargs = parse_cmdargs()

    dgen, args, model, outdir, plotdir = standard_eval_prologue(cmdargs)

    err_mat = make_error_matrix(dgen, model, args.target_pdg_iscc_list)
    save_error_matrix(outdir, err_mat)

    labels = convert_targets_to_labels(args.target_pdg_iscc_list)
    plot_error_matrix(err_mat, labels, plotdir, cmdargs.ext)
Ejemplo n.º 5
0
def main():
    # pylint: disable=missing-function-docstring
    setup_logging()
    cmdargs = parse_cmdargs()

    dgen, args, model, _outdir, plotdir = standard_eval_prologue(cmdargs)

    truth_array, preds_array = get_truth_preds_arrays(dgen, model)
    labels = convert_targets_to_labels(args.target_pdg_iscc_list)

    plot_distributions(
        truth_array, preds_array, dgen.weights, cmdargs.bins, labels,
        plotdir, cmdargs.ext
    )
Ejemplo n.º 6
0
def main():
    # pylint: disable=missing-function-docstring
    setup_logging()
    cmdargs = parse_cmdargs()

    args = Args.load(savedir = cmdargs.outdir)
    eval_config = EvalConfig.from_cmdargs(cmdargs)

    eval_config.modify_eval_args(args)

    _, dgen = load_data(args)
    outdir  = make_eval_outdir(cmdargs.outdir, eval_config)
    plotdir = make_plotdir(outdir)

    counts = count_events(dgen)
    labels = convert_targets_to_labels(args.target_pdg_iscc_list)

    plot_counts(counts, labels, plotdir, cmdargs.ext)
Ejemplo n.º 7
0
def main():
    # pylint: disable=missing-function-docstring
    setup_logging()

    cmdargs = parse_cmdargs()
    args, model, dgen, plotdir, eval_specs = prologue(cmdargs)

    var_list = ['none']
    stat_list = [eval_model(args, dgen, model, eval_specs['fom'])[0]]

    make_perturb_profile(slice_var_generator(dgen, cmdargs.smear), var_list,
                         stat_list, args, model, eval_specs, plotdir, 'slice',
                         cmdargs)

    make_perturb_profile(png2d_var_generator(dgen, cmdargs.smear), var_list,
                         stat_list, args, model, eval_specs, plotdir, 'png2d',
                         cmdargs)

    make_perturb_profile(png3d_var_generator(dgen, cmdargs.smear), var_list,
                         stat_list, args, model, eval_specs, plotdir, 'png3d',
                         cmdargs)
Ejemplo n.º 8
0
        'seed': 0,
        'steps_per_epoch': 500,
        'target_pdg_iscc_list': [(12, 1), (14, 1), (16, 1), (0, 0)],
        'test_size': 200000,
        # Args
        'outdir': 'prod4/02_model_selection/02_layers_post',
    })

search_space = []

for layers_post in range(10):
    search_space.append({
        'model': {
            'kwargs': {
                'layers_post': [
                    128,
                ] * layers_post,
            }
        },
    })

parse_concurrency_cmdargs(config)

setup_logging(logging.DEBUG,
              os.path.join(ROOT_OUTDIR, config['outdir'], "train.log"))

speval(lambda x: create_and_train_model(**config, extra_kwargs=x),
       search_space,
       os.path.join(ROOT_OUTDIR, config['outdir'], "trials.db"),
       timeout=24 * 60 * 60)
Ejemplo n.º 9
0
        'weights'         : {
            'name'   : 'flat',
            'kwargs' : { 'bins' : 50, 'range' : (0, 5) },
        },
    # Args:
        'vars_mod_png2d'  : None,
        'vars_mod_png3d'  : None,
        'vars_mod_slice'  : None,
        'outdir'          : \
            'numu/prod4/final_model_perturbations/stack_of_3dlstms/',
    }
)

parse_concurrency_cmdargs(config)

logger = setup_logging(
    log_file=os.path.join(ROOT_OUTDIR, config['outdir'], "train.log"))

search_space = [{}]

for w in (32, 64, 128, 256):
    search_space += [{
        'model': {
            'kwargs': {
                'lstm3d_spec': [
                    (w, 'forward'),
                ] * N,
            }
        }
    } for N in range(2, 6)]
    search_space += [{
        'model': {