Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TMVA::Experimental::RSofieReader Class Reference

TMVA::RSofieReader class for reading external Machine Learning models in ONNX files, Keras .h5 files or PyTorch .pt files and performing the inference using SOFIE It is reccomended to use ONNX if possible since there is a larger support for model operators.

Definition at line 45 of file RSofieReader.hxx.

Classes

struct  CustomOperatorData
 

Public Member Functions

 RSofieReader ()
 Dummy constructor which needs model loading afterwards.
 
 RSofieReader (const std::string &path, std::vector< std::vector< size_t > > inputShapes={}, int verbose=0)
 Create TMVA model from ONNX file print level can be 0 (minimal) 1 with info , 2 with all ONNX parsing info.
 
void AddCustomOperator (const std::string &opName, const std::string &inputNames, const std::string &outputNames, const std::string &outputShapes, const std::string &fileName)
 
std::vector< float > Compute (const std::vector< float > &x)
 
RTensor< float > Compute (RTensor< float > &x)
 Compute model prediction on input RTensor The shape of the input tensor should be {nevents, nfeatures} and the return shape will be {nevents, noutputs} support for now only a single input.
 
template<typename... T>
std::vector< float > Compute (T... x)
 Compute model prediction on vector.
 
std::vector< float > DoCompute (const std::vector< float > &x1)
 
std::vector< float > DoCompute (const std::vector< float > &x1, const std::vector< float > &x2)
 
std::vector< float > DoCompute (const std::vector< float > &x1, const std::vector< float > &x2, const std::vector< float > &x3)
 
void Load (const std::string &path, std::vector< std::vector< size_t > > inputShapes={}, int verbose=0)
 

Private Attributes

std::vector< CustomOperatorDatafCustomOperators
 
void * fFuncPtr = nullptr
 
bool fInitialized = false
 
int fNInputs = 0
 
void * fSessionPtr = nullptr
 

#include <TMVA/RSofieReader.hxx>

Constructor & Destructor Documentation

◆ RSofieReader() [1/2]

TMVA::Experimental::RSofieReader::RSofieReader ( )
inline

Dummy constructor which needs model loading afterwards.

Definition at line 50 of file RSofieReader.hxx.

◆ RSofieReader() [2/2]

TMVA::Experimental::RSofieReader::RSofieReader ( const std::string &  path,
std::vector< std::vector< size_t > >  inputShapes = {},
int  verbose = 0 
)
inline

Create TMVA model from ONNX file print level can be 0 (minimal) 1 with info , 2 with all ONNX parsing info.

Definition at line 53 of file RSofieReader.hxx.

Member Function Documentation

◆ AddCustomOperator()

void TMVA::Experimental::RSofieReader::AddCustomOperator ( const std::string &  opName,
const std::string &  inputNames,
const std::string &  outputNames,
const std::string &  outputShapes,
const std::string &  fileName 
)
inline

Definition at line 266 of file RSofieReader.hxx.

◆ Compute() [1/3]

std::vector< float > TMVA::Experimental::RSofieReader::Compute ( const std::vector< float > &  x)
inline

Definition at line 313 of file RSofieReader.hxx.

◆ Compute() [2/3]

RTensor< float > TMVA::Experimental::RSofieReader::Compute ( RTensor< float > &  x)
inline

Compute model prediction on input RTensor The shape of the input tensor should be {nevents, nfeatures} and the return shape will be {nevents, noutputs} support for now only a single input.

Definition at line 328 of file RSofieReader.hxx.

◆ Compute() [3/3]

template<typename... T>
std::vector< float > TMVA::Experimental::RSofieReader::Compute ( T...  x)
inline

Compute model prediction on vector.

Definition at line 300 of file RSofieReader.hxx.

◆ DoCompute() [1/3]

std::vector< float > TMVA::Experimental::RSofieReader::DoCompute ( const std::vector< float > &  x1)
inline

Definition at line 273 of file RSofieReader.hxx.

◆ DoCompute() [2/3]

std::vector< float > TMVA::Experimental::RSofieReader::DoCompute ( const std::vector< float > &  x1,
const std::vector< float > &  x2 
)
inline

Definition at line 281 of file RSofieReader.hxx.

◆ DoCompute() [3/3]

std::vector< float > TMVA::Experimental::RSofieReader::DoCompute ( const std::vector< float > &  x1,
const std::vector< float > &  x2,
const std::vector< float > &  x3 
)
inline

Definition at line 289 of file RSofieReader.hxx.

◆ Load()

void TMVA::Experimental::RSofieReader::Load ( const std::string &  path,
std::vector< std::vector< size_t > >  inputShapes = {},
int  verbose = 0 
)
inline

Definition at line 58 of file RSofieReader.hxx.

Member Data Documentation

◆ fCustomOperators

std::vector<CustomOperatorData> TMVA::Experimental::RSofieReader::fCustomOperators
private

Definition at line 364 of file RSofieReader.hxx.

◆ fFuncPtr

void* TMVA::Experimental::RSofieReader::fFuncPtr = nullptr
private

Definition at line 354 of file RSofieReader.hxx.

◆ fInitialized

bool TMVA::Experimental::RSofieReader::fInitialized = false
private

Definition at line 351 of file RSofieReader.hxx.

◆ fNInputs

int TMVA::Experimental::RSofieReader::fNInputs = 0
private

Definition at line 352 of file RSofieReader.hxx.

◆ fSessionPtr

void* TMVA::Experimental::RSofieReader::fSessionPtr = nullptr
private

Definition at line 353 of file RSofieReader.hxx.

Libraries for TMVA::Experimental::RSofieReader:

The documentation for this class was generated from the following file: