Пример #1
0
def main(job_id, params):

    # Logging
    print "Call to main function (#{})".format(job_id)
    print "  Parameters: {}".format(params)

    # Create temporary patch dictionary
    jobname = 'patch.{:08d}'.format(job_id)
    filename = os.path.realpath('patches/{}.json'.format(jobname))
    patch = create_patch(params)

    # Adversarial-specific change
    lr_ratio = patch['combined']['model'].pop('lr_ratio')
    if lr_ratio < 0:
        lr_ratio = np.power(10., lr_ratio)
        pass
    patch['combined']['compile']['loss_weights'] = [lr_ratio, 1.0]

    # -- Fixed settings
    for field in ['fit', 'model']:
        if field not in patch['combined']:
            patch['combined'][field] = dict()
            pass
        pass
    patch['combined']['pretrain'] = 20
    patch['combined']['fit']['epochs'] = 200
    patch['combined']['fit']['batch_size'] = 8192
    patch['combined']['model']['lambda_reg'] = 10.

    # Save patch to file
    save_patch(patch, filename)

    # Set arguments
    args = parse_args([
        '--optimise-adversarial', '--patch', filename, '--jobname',
        'combined-' + jobname, '--gpu', '--devices', '7', '--folds', '3',
        '--tensorboard'
    ],
                      adversarial=True)

    # Call main script (in the correct directory)
    with cd(PROJECTDIR):
        result = train.main(args)
        pass

    # Ensure correct type, otherwise Spearmint does not accept value
    result = float(result)

    return result
Пример #2
0
def main(job_id, params):

    # Logging
    print "Call to main function (#{})".format(job_id)
    print "  Parameters: {}".format(params)

    # Create temporary patch file
    jobname = 'patch.{:08d}'.format(job_id)
    filename = os.path.realpath('patches/{}.json'.format(jobname))
    patch = create_patch(params)

    # -- Fixed settings
    if 'fit' not in patch['classifier']:
        patch['classifier']['fit'] = dict()
        pass
    patch['classifier']['fit']['epochs'] = 50
    patch['classifier']['fit']['batch_size'] = 8192

    save_patch(patch, filename)

    # Set arguments
    args = parse_args([
        '--optimise-classifier', '--patch', filename, '--jobname',
        'classifier-' + jobname, '--gpu', '--devices', '7', '--folds', '3',
        '--tensorboard'
    ],
                      adversarial=True)

    # Call main script (in the correct directory)
    with cd(PROJECTDIR):
        result = train.main(args)
        pass

    # Ensure correct type, otherwise Spearmint does not accept value
    result = float(result)

    return result
Пример #3
0
        # Decorations
        c.text(["#sqrt{s} = 13 TeV"], qualifier=QUALIFIER, ATLAS=False)
        c.legend()
        c.ylim(binsy[0], binsy[-1])
        c.xlabel("Large-#it{R} jet " + latex('rhoDDT', ROOT=True))
	if variable == VAR_TAU21:
        	c.ylabel("Large-#it{R} jet " + latex('#tau_{21}',  ROOT=True)) #changed these to latex formatting
	elif variable == VAR_N2:
		c.ylabel("Large-#it{R} jet " + latex('N_{2}',  ROOT=True))
	elif variable == VAR_DECDEEP:
		c.ylabel("Large-#it{R} jet " + latex('dec_deepWvsQCD',  ROOT=True))
	elif variable == VAR_DEEP:
		c.ylabel("Large-#it{R} jet " + latex('deepWvsQCD',  ROOT=True))

        # Save
        mkdir('figures/ddt')
        c.save('figures/ddt/ddt_{}_2d.pdf'.format(variable))
        pass
    return


# Main function call
if __name__ == '__main__':

    # Parse command-line arguments
    args = parse_args()

    # Call main function
    main(args)
    pass
        c.text(TEXT + [
            "Multijets, training dataset",
            "Cut on {:s} at #varepsilon_{{sig}}^{{rel}} = 50%".format(
                latex(var, ROOT=True)),
            "p_{{T}} #in  [{:.0f}, {:.0f}] GeV".format(*pt_bin)
        ],
               qualifier='Simulation Internal')
        c.legend(width=0.25)
        c.xlabel("Large-#it{R} jet mass [GeV]")
        c.ylabel("Fraction of jets")
        c.pad(1).ylabel('KL(P #parallel M)')
        c.pad(2).ylabel('KL(F #parallel M)')
        c.pad(3).ylabel('JSD(P #parallel F)')

        # Save
        c.save('figures/massdecorrelationmetric_{:s}__pT{:.0f}_{:.0f}GeV.pdf'.
               format(var, *pt_bin))
        pass
    return 0


# Main function call
if __name__ == '__main__':

    # Parse command-line arguments
    args = parse_args(backend=True, plots=True)

    # Call main function
    main(args)
    pass
Пример #5
0
    c.latex("m < 300 GeV",
            -2.5,
            BOUNDS[1].Eval(-2.5) - 30,
            align=23,
            angle=-57,
            textsize=13,
            textcolor=ROOT.kGray + 3)

    # Decorations
    c.text(qualifier=QUALIFIER, ymax=0.92, xmin=0.15)
    c.text(["#sqrt{s} = 13 TeV", "Multijets"],
           ATLAS=False,
           textcolor=ROOT.kWhite)

    # Save
    mkdir('figures/knn/')
    c.save('figures/knn/knn_{}_{:s}_{:.0f}.pdf'.format(
        'fit' if fit else 'profile', VAR, EFF))
    pass


# Main function call
if __name__ == '__main__':

    # Parse command-line arguments
    args = parse_args()  # (adversarial=True)

    # Call main function
    main(args)
    pass