Exemplo n.º 1
0
def loadModel(inputDir,
              trainData,
              model,
              LoadModel,
              sampleDatasets=None,
              removedVars=None):
    inputModel = '%s/KERAS_check_best_model.h5' % inputDir
    # inputModel = '%s/KERAS_model.h5'%inputDir
    inputWeights = '%s/KERAS_check_best_model_weights.h5' % inputDir

    from DeepJetCore.DataCollection import DataCollection
    traind = DataCollection()
    traind.readFromFile(trainData)
    traind.dataclass.regressiontargetclasses = range(0, NBINS)
    print traind.getNRegressionTargets()

    if (LoadModel):
        evalModel = load_model(inputModel, custom_objects=global_loss_list)
        shapes = traind.getInputShapes()

    else:
        shapes = traind.getInputShapes()
        train_inputs = []
        for s in shapes:
            train_inputs.append(keras.layers.Input(shape=s))
        evalModel = model(train_inputs, traind.getNClassificationTargets(),
                          traind.getNRegressionTargets(), sampleDatasets,
                          removedVars)
        evalModel.load_weights(inputWeights)

    return evalModel
Exemplo n.º 2
0
def loadModel(inputDir,
              trainData,
              model,
              LoadModel,
              sampleDatasets=None,
              removedVars=None,
              adv=False):
    inputModel = '%s/KERAS_check_best_model.h5' % inputDir

    from DeepJetCore.DataCollection import DataCollection
    traind = DataCollection()
    traind.readFromFile(trainData)
    traind.dataclass.regressiontargetclasses = range(0, NBINS)
    print(traind.getNRegressionTargets())

    if (LoadModel):
        evalModel = load_model(inputModel, custom_objects=global_loss_list)
        shapes = traind.getInputShapes()

    else:
        shapes = traind.getInputShapes()
        train_inputs = []
        for s in shapes:
            train_inputs.append(keras.layers.Input(shape=s))
        modelargs = {}
        if adv:
            modelargs.update({
                'nRegTargets': NBINS,
                'discTrainable': True,
                'advTrainable': True
            })
        evalModel = model(train_inputs, traind.getNClassificationTargets(),
                          traind.getNRegressionTargets(), sampleDatasets,
                          removedVars, **modelargs)
        evalModel.load_weights(inputModel)

    return evalModel