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 261 of file RSofieReader.hxx.

◆ Compute() [1/3]

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

Definition at line 308 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 323 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 295 of file RSofieReader.hxx.

◆ DoCompute() [1/3]

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

Definition at line 268 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 276 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 284 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 359 of file RSofieReader.hxx.

◆ fFuncPtr

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

Definition at line 349 of file RSofieReader.hxx.

◆ fInitialized

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

Definition at line 346 of file RSofieReader.hxx.

◆ fNInputs

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

Definition at line 347 of file RSofieReader.hxx.

◆ fSessionPtr

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

Definition at line 348 of file RSofieReader.hxx.

Libraries for TMVA::Experimental::RSofieReader:

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