Logo ROOT  
Reference Guide
TMVA_RNN_Classification Namespace Reference

Functions

 MakeTimeData (n, ntime, ndim)
 Helper function to generate the time data set make some time data but not of fixed length.

Variables

 Architecture
str archString = "GPU" if useGPU else "CPU"
 background = inputFile.Get("bkg")
 BaggedSampleFraction
 BatchSize
int batchSize = 100
 BoostType
 c1 = factory.GetROCCurve(dataloader)
 Train all methods.
 CalcCorrelations
 datainfo = dataloader.GetDataSetInfo()
 add variables - use new AddVariablesArray function
 dataloader = TMVA.DataLoader("dataset")
str dnnName = "TMVA_DNN"
 ErrorStrategy
 factory
 Declare Factory.
 fileDoesNotExist = ROOT.gSystem.AccessPathName(inputFileName)
 FilenameModel
 FilenameTrainedModel
 H
 Book TMVA BDT.
 inputFile = TFile.Open(inputFileName)
str inputFileName = "time_data_t10_d30.root"
 InputLayout
 Layout
 loss
 MaxDepth
int maxepochs = 10
 MinNodeSize
 model = Sequential()
str modelName = "model_" + rnn_types[i] + ".keras"
 Book Keras recurrent models.
str mycutb = ""
str mycuts = ""
 nCuts
int ninput = 30
 NormMode
int ntime = 10
int nTotEvts = 2000
 nTrain_Background
 nTrain_Signal
float nTrainBkg = 0.8 * nTotEvts
float nTrainSig = 0.8 * nTotEvts
 NTrees
int num_threads = 4
 NumEpochs
int nvar = ninput * ntime
 optimizer
str outfileName = "data_RNN_" + archString + ".root"
 outputFile = None
 RandomSeed
str rnn_type = "RNN"
 Book TMVA recurrent models.
list rnn_types = ["RNN", "LSTM", "GRU"]
str rnnLayout = str(rnn_type) + "|10|" + str(ninput) + "|" + str(ntime) + "|0|1,RESHAPE|FLAT,DENSE|64|TANH,LINEAR"
 Define RNN layer layout it should be LayerType (RNN or LSTM or GRU) | number of units | number of inputs | time steps | remember output (typically no=0 | return full sequence.
str rnnName = "TMVA_" + str(rnn_type)
 define the inputlayout string for RNN the input data should be organize as following: / input layout for RNN: time x ndim add after RNN a reshape layer (needed top flatten the output) and a dense layer with 64 units and a last one Note the last layer is linear because when using Crossentropy a Sigmoid is applied already Define the full RNN Noption string adding the final options for all network
 Shrinkage
 signalTree = inputFile.Get("sgn")
 SplitMode
 SplitSeed
 TFile = ROOT.TFile
 TMVA = ROOT.TMVA
str trainedModelName = "trained_" + modelName
 TrainingStrategy
str trainingString1 = "LearningRate=1e-3,Momentum=0.0,Repetitions=1,ConvergenceSteps=5,BatchSize=" + str(batchSize)
 Defining Training strategies.
list use_rnn_type = [1, 1, 1]
int use_type = 1
 macro for performing a classification using a Recurrent Neural Network
 UseBaggedBoost
bool useGPU = True
bool useKeras = False
bool useTMVA_BDT = False
bool useTMVA_DNN = True
bool useTMVA_RNN = True
 V
 ValidationSize
 vars = datainfo.GetListOfVariables()
 VarTransform
 weighted_metrics
 WeightInitialization
bool writeOutputFile = True

Function Documentation

◆ MakeTimeData()

TMVA_RNN_Classification.MakeTimeData ( n,
ntime,
ndim )

Helper function to generate the time data set make some time data but not of fixed length.

use a poisson with mu = 5 and truncated at 10

Definition at line 48 of file TMVA_RNN_Classification.py.

Variable Documentation

◆ Architecture

TMVA_RNN_Classification.Architecture

Definition at line 347 of file TMVA_RNN_Classification.py.

◆ archString

str TMVA_RNN_Classification.archString = "GPU" if useGPU else "CPU"

Definition at line 188 of file TMVA_RNN_Classification.py.

◆ background

TMVA_RNN_Classification.background = inputFile.Get("bkg")

Definition at line 261 of file TMVA_RNN_Classification.py.

◆ BaggedSampleFraction

TMVA_RNN_Classification.BaggedSampleFraction

Definition at line 464 of file TMVA_RNN_Classification.py.

◆ BatchSize

TMVA_RNN_Classification.BatchSize

Definition at line 440 of file TMVA_RNN_Classification.py.

◆ batchSize

int TMVA_RNN_Classification.batchSize = 100

Definition at line 148 of file TMVA_RNN_Classification.py.

◆ BoostType

TMVA_RNN_Classification.BoostType

Definition at line 461 of file TMVA_RNN_Classification.py.

◆ c1

TMVA_RNN_Classification.c1 = factory.GetROCCurve(dataloader)

Train all methods.

Definition at line 484 of file TMVA_RNN_Classification.py.

◆ CalcCorrelations

TMVA_RNN_Classification.CalcCorrelations

Definition at line 299 of file TMVA_RNN_Classification.py.

◆ datainfo

TMVA_RNN_Classification.datainfo = dataloader.GetDataSetInfo()

add variables - use new AddVariablesArray function

Definition at line 274 of file TMVA_RNN_Classification.py.

◆ dataloader

TMVA_RNN_Classification.dataloader = TMVA.DataLoader("dataset")

Definition at line 258 of file TMVA_RNN_Classification.py.

◆ dnnName

str TMVA_RNN_Classification.dnnName = "TMVA_DNN"

Definition at line 363 of file TMVA_RNN_Classification.py.

◆ ErrorStrategy

TMVA_RNN_Classification.ErrorStrategy

Definition at line 339 of file TMVA_RNN_Classification.py.

◆ factory

TMVA_RNN_Classification.factory
Initial value:
2 "TMVAClassification",
3 outputFile,
4 V=False,
5 Silent=False,
6 Color=True,
7 DrawProgressBar=True,
8 Transformations=None,
9 Correlations=False,
10 AnalysisType="Classification",
11 ModelPersistence=True,
12)
This is the main MVA steering class.
Definition Factory.h:80

Declare Factory.

Definition at line 246 of file TMVA_RNN_Classification.py.

◆ fileDoesNotExist

TMVA_RNN_Classification.fileDoesNotExist = ROOT.gSystem.AccessPathName(inputFileName)

Definition at line 203 of file TMVA_RNN_Classification.py.

◆ FilenameModel

TMVA_RNN_Classification.FilenameModel

Definition at line 437 of file TMVA_RNN_Classification.py.

◆ FilenameTrainedModel

TMVA_RNN_Classification.FilenameTrainedModel

Definition at line 438 of file TMVA_RNN_Classification.py.

◆ H

TMVA_RNN_Classification.H

Book TMVA BDT.

Definition at line 337 of file TMVA_RNN_Classification.py.

◆ inputFile

TMVA_RNN_Classification.inputFile = TFile.Open(inputFileName)

Definition at line 210 of file TMVA_RNN_Classification.py.

◆ inputFileName

str TMVA_RNN_Classification.inputFileName = "time_data_t10_d30.root"

Definition at line 201 of file TMVA_RNN_Classification.py.

◆ InputLayout

TMVA_RNN_Classification.InputLayout

Definition at line 344 of file TMVA_RNN_Classification.py.

◆ Layout

TMVA_RNN_Classification.Layout

Definition at line 345 of file TMVA_RNN_Classification.py.

◆ loss

TMVA_RNN_Classification.loss

Definition at line 419 of file TMVA_RNN_Classification.py.

◆ MaxDepth

TMVA_RNN_Classification.MaxDepth

Definition at line 466 of file TMVA_RNN_Classification.py.

◆ maxepochs

int TMVA_RNN_Classification.maxepochs = 10

Definition at line 149 of file TMVA_RNN_Classification.py.

◆ MinNodeSize

TMVA_RNN_Classification.MinNodeSize

Definition at line 460 of file TMVA_RNN_Classification.py.

◆ model

TMVA_RNN_Classification.model = Sequential()

Definition at line 406 of file TMVA_RNN_Classification.py.

◆ modelName

str TMVA_RNN_Classification.modelName = "model_" + rnn_types[i] + ".keras"

Book Keras recurrent models.

Definition at line 388 of file TMVA_RNN_Classification.py.

◆ mycutb

str TMVA_RNN_Classification.mycutb = ""

Definition at line 287 of file TMVA_RNN_Classification.py.

◆ mycuts

str TMVA_RNN_Classification.mycuts = ""

Definition at line 286 of file TMVA_RNN_Classification.py.

◆ nCuts

TMVA_RNN_Classification.nCuts

Definition at line 465 of file TMVA_RNN_Classification.py.

◆ ninput

int TMVA_RNN_Classification.ninput = 30

Definition at line 146 of file TMVA_RNN_Classification.py.

◆ NormMode

TMVA_RNN_Classification.NormMode

Definition at line 297 of file TMVA_RNN_Classification.py.

◆ ntime

int TMVA_RNN_Classification.ntime = 10

Definition at line 147 of file TMVA_RNN_Classification.py.

◆ nTotEvts

int TMVA_RNN_Classification.nTotEvts = 2000

Definition at line 151 of file TMVA_RNN_Classification.py.

◆ nTrain_Background

TMVA_RNN_Classification.nTrain_Background

Definition at line 294 of file TMVA_RNN_Classification.py.

◆ nTrain_Signal

TMVA_RNN_Classification.nTrain_Signal

Definition at line 293 of file TMVA_RNN_Classification.py.

◆ nTrainBkg

float TMVA_RNN_Classification.nTrainBkg = 0.8 * nTotEvts

Definition at line 283 of file TMVA_RNN_Classification.py.

◆ nTrainSig

float TMVA_RNN_Classification.nTrainSig = 0.8 * nTotEvts

Definition at line 282 of file TMVA_RNN_Classification.py.

◆ NTrees

TMVA_RNN_Classification.NTrees

Definition at line 459 of file TMVA_RNN_Classification.py.

◆ num_threads

int TMVA_RNN_Classification.num_threads = 4

Definition at line 23 of file TMVA_RNN_Classification.py.

◆ NumEpochs

TMVA_RNN_Classification.NumEpochs

Definition at line 439 of file TMVA_RNN_Classification.py.

◆ nvar

int TMVA_RNN_Classification.nvar = ninput * ntime

Definition at line 263 of file TMVA_RNN_Classification.py.

◆ optimizer

TMVA_RNN_Classification.optimizer

Definition at line 419 of file TMVA_RNN_Classification.py.

◆ outfileName

str TMVA_RNN_Classification.outfileName = "data_RNN_" + archString + ".root"

Definition at line 218 of file TMVA_RNN_Classification.py.

◆ outputFile

TMVA_RNN_Classification.outputFile = None

Definition at line 219 of file TMVA_RNN_Classification.py.

◆ RandomSeed

TMVA_RNN_Classification.RandomSeed

Definition at line 343 of file TMVA_RNN_Classification.py.

◆ rnn_type

list TMVA_RNN_Classification.rnn_type = "RNN"

Book TMVA recurrent models.

Definition at line 192 of file TMVA_RNN_Classification.py.

◆ rnn_types

list TMVA_RNN_Classification.rnn_types = ["RNN", "LSTM", "GRU"]

Definition at line 170 of file TMVA_RNN_Classification.py.

◆ rnnLayout

str TMVA_RNN_Classification.rnnLayout = str(rnn_type) + "|10|" + str(ninput) + "|" + str(ntime) + "|0|1,RESHAPE|FLAT,DENSE|64|TANH,LINEAR"

Define RNN layer layout it should be LayerType (RNN or LSTM or GRU) | number of units | number of inputs | time steps | remember output (typically no=0 | return full sequence.

Definition at line 319 of file TMVA_RNN_Classification.py.

◆ rnnName

str TMVA_RNN_Classification.rnnName = "TMVA_" + str(rnn_type)

define the inputlayout string for RNN the input data should be organize as following: / input layout for RNN: time x ndim add after RNN a reshape layer (needed top flatten the output) and a dense layer with 64 units and a last one Note the last layer is linear because when using Crossentropy a Sigmoid is applied already Define the full RNN Noption string adding the final options for all network

Definition at line 332 of file TMVA_RNN_Classification.py.

◆ Shrinkage

TMVA_RNN_Classification.Shrinkage

Definition at line 462 of file TMVA_RNN_Classification.py.

◆ signalTree

TMVA_RNN_Classification.signalTree = inputFile.Get("sgn")

Definition at line 260 of file TMVA_RNN_Classification.py.

◆ SplitMode

TMVA_RNN_Classification.SplitMode

Definition at line 295 of file TMVA_RNN_Classification.py.

◆ SplitSeed

TMVA_RNN_Classification.SplitSeed

Definition at line 296 of file TMVA_RNN_Classification.py.

◆ TFile

TMVA_RNN_Classification.TFile = ROOT.TFile

Definition at line 35 of file TMVA_RNN_Classification.py.

◆ TMVA

TMVA_RNN_Classification.TMVA = ROOT.TMVA

Definition at line 34 of file TMVA_RNN_Classification.py.

◆ trainedModelName

str TMVA_RNN_Classification.trainedModelName = "trained_" + modelName

Definition at line 389 of file TMVA_RNN_Classification.py.

◆ TrainingStrategy

TMVA_RNN_Classification.TrainingStrategy

Definition at line 346 of file TMVA_RNN_Classification.py.

◆ trainingString1

TMVA_RNN_Classification.trainingString1 = "LearningRate=1e-3,Momentum=0.0,Repetitions=1,ConvergenceSteps=5,BatchSize=" + str(batchSize)

Defining Training strategies.

Book TMVA fully connected dense layer models.

Different training strings can be concatenate. Use however only one

Definition at line 322 of file TMVA_RNN_Classification.py.

◆ use_rnn_type

list TMVA_RNN_Classification.use_rnn_type = [1, 1, 1]

Definition at line 171 of file TMVA_RNN_Classification.py.

◆ use_type

int TMVA_RNN_Classification.use_type = 1

macro for performing a classification using a Recurrent Neural Network

Parameters
use_typeuse_type = 0 use Simple RNN network use_type = 1 use LSTM network use_type = 2 use GRU use_type = 3 build 3 different networks with RNN, LSTM and GRU

Definition at line 145 of file TMVA_RNN_Classification.py.

◆ UseBaggedBoost

TMVA_RNN_Classification.UseBaggedBoost

Definition at line 463 of file TMVA_RNN_Classification.py.

◆ useGPU

str TMVA_RNN_Classification.useGPU = True

Definition at line 177 of file TMVA_RNN_Classification.py.

◆ useKeras

bool TMVA_RNN_Classification.useKeras = False

Definition at line 153 of file TMVA_RNN_Classification.py.

◆ useTMVA_BDT

bool TMVA_RNN_Classification.useTMVA_BDT = False

Definition at line 157 of file TMVA_RNN_Classification.py.

◆ useTMVA_DNN

bool TMVA_RNN_Classification.useTMVA_DNN = True

Definition at line 156 of file TMVA_RNN_Classification.py.

◆ useTMVA_RNN

tuple TMVA_RNN_Classification.useTMVA_RNN = True

Definition at line 155 of file TMVA_RNN_Classification.py.

◆ V

TMVA_RNN_Classification.V

Definition at line 298 of file TMVA_RNN_Classification.py.

◆ ValidationSize

TMVA_RNN_Classification.ValidationSize

Definition at line 342 of file TMVA_RNN_Classification.py.

◆ vars

TMVA_RNN_Classification.vars = datainfo.GetListOfVariables()

Definition at line 275 of file TMVA_RNN_Classification.py.

◆ VarTransform

TMVA_RNN_Classification.VarTransform

Definition at line 340 of file TMVA_RNN_Classification.py.

◆ weighted_metrics

TMVA_RNN_Classification.weighted_metrics

Definition at line 419 of file TMVA_RNN_Classification.py.

◆ WeightInitialization

TMVA_RNN_Classification.WeightInitialization

Definition at line 341 of file TMVA_RNN_Classification.py.

◆ writeOutputFile

bool TMVA_RNN_Classification.writeOutputFile = True

Definition at line 190 of file TMVA_RNN_Classification.py.