31useTMVACNN = opt[0] 
if len(opt) > 0  
else False 
   32useKerasCNN = opt[1] 
if len(opt) > 1 
else False 
   33useTMVADNN = opt[2] 
if len(opt) > 2 
else False 
   34useTMVABDT = opt[3] 
if len(opt) > 3 
else False 
   35usePyTorchCNN = opt[4] 
if len(opt) > 4 
else False 
   45    fileOutName = 
"images_data_16x16.root" 
   52    sX2 = sX1 + delta_sigma
 
   53    sY2 = sY1 - delta_sigma
 
   54    h1 = 
ROOT.TH2D(
"h1", 
"h1", nh, 0, 10, nw, 0, 10)
 
   55    h2 = 
ROOT.TH2D(
"h2", 
"h2", nh, 0, 10, nw, 0, 10)
 
   59    bkg = 
ROOT.TTree(
"bkg_tree", 
"background_tree")
 
   61    f = 
TFile(fileOutName, 
"RECREATE")
 
   76    ROOT.Info(
"TMVA_CNN_Classification", 
"Filling ROOT tree \n")
 
   79            print(
"Generating image event ...", i)
 
  105    print(
"Signal and background tree with images data written to the file %s", 
f.GetName())
 
  115if (
not hasCPU 
and not hasGPU) :
 
  116    ROOT.Warning(
"TMVA_CNN_Classificaton",
"ROOT is not supporting tmva-cpu and tmva-gpu skip using TMVA-DNN and TMVA-CNN")
 
  122    usePyTorchCNN = 
False 
  128        "TMVA_CNN_Classificaton",
 
  129        "TMVA is not build with GPU or CPU multi-thread support. Cannot use TMVA Deep Learning for CNN",
 
  132writeOutputFile = 
True 
  144    print(
"Running in serial mode since ROOT does not support MT")
 
  151    outputFile = 
TFile.Open(
"TMVA_CNN_ClassificationOutput.root", 
"RECREATE")
 
  176    "TMVA_CNN_Classification",
 
  182    AnalysisType=
"Classification",
 
  183    Transformations=
None,
 
  206inputFileName = 
"images_data_16x16.root" 
  230backgroundWeight = 1.0
 
  256nTrainSig = 0.8 * nEventsSig
 
  257nTrainBkg = 0.8 * nEventsBkg
 
  264    nTrain_Signal=nTrainSig,
 
  265    nTrain_Background=nTrainBkg,
 
  268    NormMode=
"NumEvents",
 
  270    CalcCorrelations=
False,
 
  296        BoostType=
"AdaBoost",
 
  299        BaggedSampleFraction=0.5,
 
  300        SeparationType=
"GiniIndex",
 
  312        "DENSE|100|RELU,BNORM,DENSE|100|RELU,BNORM,DENSE|100|RELU,BNORM,DENSE|100|RELU,DENSE|1|LINEAR" 
  319        "LearningRate=1e-3,Momentum=0.9,Repetitions=1," 
  320        "ConvergenceSteps=5,BatchSize=100,TestRepetitions=1," 
  321        "WeightDecay=1e-4,Regularization=None," 
  322        "Optimizer=ADAM,DropConfig=0.0+0.0+0.0+0." 
  324    trainingString1 += 
",MaxEpochs=" + str(max_epochs)
 
  327    dnnMethodName = 
"TMVA_DNN_CPU" 
  333        dnnMethodName = 
"TMVA_DNN_GPU" 
  341        ErrorStrategy=
"CROSSENTROPY",
 
  343        WeightInitialization=
"XAVIER",
 
  345        TrainingStrategy=trainingString1,
 
  346        Architecture=dnnOptions
 
  380        "LearningRate=1e-3,Momentum=0.9,Repetitions=1," 
  381        "ConvergenceSteps=5,BatchSize=100,TestRepetitions=1," 
  382        "WeightDecay=1e-4,Regularization=None," 
  383        "Optimizer=ADAM,DropConfig=0.0+0.0+0.0+0.0" 
  385    trainingString1 += 
",MaxEpochs=" + str(max_epochs)
 
  388    cnnMethodName = 
"TMVA_CNN_CPU" 
  393        cnnMethodName = 
"TMVA_CNN_GPU" 
  401        ErrorStrategy=
"CROSSENTROPY",
 
  403        WeightInitialization=
"XAVIER",
 
  404        InputLayout=
"1|16|16",
 
  405        Layout=
"CONV|10|3|3|1|1|1|1|RELU,BNORM,CONV|10|3|3|1|1|1|1|RELU,MAXPOOL|2|2|1|1,RESHAPE|FLAT,DENSE|100|RELU,DENSE|1|LINEAR",
 
  406        TrainingStrategy=trainingString1,
 
  407        Architecture=cnnOptions,
 
  415    ROOT.Info(
"TMVA_CNN_Classification", 
"Using Convolutional PyTorch Model")
 
  417    pyTorchFileName += 
"/machine_learning/PyTorch_Generate_CNN_Model.py" 
  424        ROOT.Info(
"TMVA_CNN_Classification", 
"Booking PyTorch CNN model")
 
  432            FilenameModel=
"PyTorchModelCNN.pt",
 
  433            FilenameTrainedModel=
"PyTorchTrainedModelCNN.pt",
 
  434            NumEpochs=max_epochs,
 
  436            UserCode=str(pyTorchFileName)
 
  440            "TMVA_CNN_Classification",
 
  441            "PyTorch is not installed or model building file is not existing - skip using PyTorch",
 
  445    ROOT.Info(
"TMVA_CNN_Classification", 
"Building convolutional keras model")
 
  458    model.add(Reshape((16, 16, 1), input_shape=(256,)))
 
  459    model.add(
Conv2D(10, kernel_size=(3, 3), kernel_initializer=
"TruncatedNormal", activation=
"relu", padding=
"same"))
 
  460    model.add(
Conv2D(10, kernel_size=(3, 3), kernel_initializer=
"TruncatedNormal", activation=
"relu", padding=
"same"))
 
  467    model.compile(loss=
"binary_crossentropy", optimizer=
Adam(learning_rate=0.001), weighted_metrics=[
"accuracy"])
 
  475        ROOT.Info(
"TMVA_CNN_Classification", 
"Booking convolutional keras model")
 
  483            FilenameModel=
"model_cnn.h5",
 
  484            FilenameTrainedModel=
"trained_model_cnn.h5",
 
  485            NumEpochs=max_epochs,
 
  487            GpuOptions=
"allow_growth=True",
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t format
 
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
 
This is the main MVA steering class.