This tutorial shows how to store several models in a single header file and the weights in a ROOT binary file. The models are then evaluated using the RDataFrame First, generate the input model by running TMVA_Higgs_Classification.C
.
import ROOT
import numpy as np
def CreateModel(nlayers = 4, nunits = 64):
for i
in range(1,nlayers) :
model.compile(loss =
'binary_crossentropy', optimizer =
Adam(learning_rate = 0.001), weighted_metrics = [
'accuracy'])
return model
sigData =
df1.AsNumpy(columns=[
'm_jj',
'm_jjj',
'm_lv',
'm_jlv',
'm_bb',
'm_wbb',
'm_wwbb'])
print("size of data", data_sig_size)
bkgData =
df2.AsNumpy(columns=[
'm_jj',
'm_jjj',
'm_lv',
'm_jlv',
'm_bb',
'm_wbb',
'm_wwbb'])
inputs_data, inputs_targets, test_size=0.50, random_state=1234)
return x_train, y_train, x_test, y_test
modelFile = name + '.h5'
return modelFile
model1 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_4L_50')
model2 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_4L_200')
model3 =
TrainModel(CreateModel(4,64),x_train, y_train,
'Higgs_Model_2L_500')
print("Generating inference code for the Keras model from ",modelFile,"in the header ", generatedHeaderFile)
return generatedHeaderFile
generatedHeaderFile = "Higgs_Model.hxx"
import os
weightFile = "Higgs_Model.root"
print("removing existing files", generatedHeaderFile,weightFile)
hs1 =
ROOT.TH1D(
"hs1",
"Signal result 4L 50",100,0,1)
hs2 =
ROOT.TH1D(
"hs2",
"Signal result 4L 200",100,0,1)
hs3 =
ROOT.TH1D(
"hs3",
"Signal result 2L 500",100,0,1)
hb1 =
ROOT.TH1D(
"hb1",
"Background result 4L 50",100,0,1)
hb2 =
ROOT.TH1D(
"hb2",
"Background result 4L 200",100,0,1)
hb3 =
ROOT.TH1D(
"hb3",
"Background result 2L 500",100,0,1)
return result[0]
if (y_test[i] == 1) :
else:
def GetContent(h) :
return x,w
xs,ws = GetContent(hs)
xb,wb = GetContent(hb)
return roc,curve
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...