Example of inference with SOFIE and RDataFrame, of a model trained with Keras.
First, generate the input model by running TMVA_Higgs_Classification.C
.
This tutorial parses the input model and runs the inference using ROOT's JITing capability.
import ROOT
modelFile = "Higgs_trained_model.h5"
modelName = "Higgs_trained_model";
if not exists(modelFile):
raise FileNotFoundError(
"You need to run TMVA_Higgs_Classification.C to generate the Keras trained model")
print("compiling SOFIE model and functor....")
ROOT.gInterpreter.Declare(
'auto sofie_functor = TMVA::Experimental::SofieFunctor<7,TMVA_SOFIE_'+modelName+
'::Session>(0,"Higgs_trained_model_generated.dat");')
h1 =
df1.Define(
"DNN_Value",
"sofie_functor(rdfslot_,m_jj, m_jjj, m_lv, m_jlv, m_bb, m_wbb, m_wwbb)").Histo1D((
"h_sig",
"", 100, 0, 1),
"DNN_Value")
h2 =
df2.Define(
"DNN_Value",
"sofie_functor(rdfslot_,m_jj, m_jjj, m_lv, m_jlv, m_bb, m_wbb, m_wwbb)").Histo1D((
"h_bkg",
"", 100, 0, 1),
"DNN_Value")
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 ,...
- Author
- Lorenzo Moneta
Definition in file TMVA_SOFIE_RDataFrame.py.