Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TMVA::Experimental::SOFIE::ROperator Class Referenceabstract

Definition at line 18 of file ROperator.hxx.

Public Member Functions

virtual ~ROperator ()
 
virtual std::string Generate (std::string OpName)=0
 
virtual std::string GenerateDeclCode ()
 
virtual std::string GenerateInitCode ()
 
virtual std::string GenerateSessionMembersCode (std::string)
 
virtual std::vector< std::string > GetBlasRoutines ()
 
std::span< const std::string_view > GetOpInputTensors () const
 
std::span< const std::string_view > GetOpOutputTensors () const
 
virtual std::vector< std::string > GetStdLibs ()
 
virtual std::string Header ()
 
virtual void Initialize (RModel &)=0
 
virtual std::vector< std::vector< size_t > > ShapeInference (std::vector< std::vector< size_t > >)
 
virtual std::vector< ETensorTypeTypeInference (std::vector< ETensorType >)
 

Protected Attributes

std::vector< std::string_view > fInputTensorNames
 
bool fIsOutputConstant = false
 flag to identify if operator has a constant output (no need to generate code)
 
std::vector< std::string_view > fOutputTensorNames
 
bool fUseSession = false
 flag to identify if using the session class
 
const std::string SP = " "
 space used to correctly indent the generated C++ code
 

#include <TMVA/ROperator.hxx>

Inheritance diagram for TMVA::Experimental::SOFIE::ROperator:
[legend]

Constructor & Destructor Documentation

◆ ~ROperator()

virtual TMVA::Experimental::SOFIE::ROperator::~ROperator ( )
inlinevirtual

Definition at line 38 of file ROperator.hxx.

Member Function Documentation

◆ Generate()

virtual std::string TMVA::Experimental::SOFIE::ROperator::Generate ( std::string OpName)
pure virtual

Implemented in TMVA::Experimental::SOFIE::ROperator_LSTM< T >, TMVA::Experimental::SOFIE::ROperator_RNN< T >, TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicNary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicUnary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BatchNormalization< T >, TMVA::Experimental::SOFIE::ROperator_Cast, TMVA::Experimental::SOFIE::ROperator_Comparision< T, Op >, TMVA::Experimental::SOFIE::ROperator_Concat, TMVA::Experimental::SOFIE::ROperator_Conv< T >, TMVA::Experimental::SOFIE::ROperator_ConvTranspose< T >, TMVA::Experimental::SOFIE::ROperator_Custom< T >, TMVA::Experimental::SOFIE::ROperator_Einsum< T >, TMVA::Experimental::SOFIE::ROperator_Elu< T >, TMVA::Experimental::SOFIE::ROperator_Erf< T >, TMVA::Experimental::SOFIE::ROperator_Expand< T >, TMVA::Experimental::SOFIE::ROperator_EyeLike, TMVA::Experimental::SOFIE::ROperator_Gather, TMVA::Experimental::SOFIE::ROperator_Gemm< T >, TMVA::Experimental::SOFIE::ROperator_Identity< T >, TMVA::Experimental::SOFIE::ROperator_LayerNormalization< T >, TMVA::Experimental::SOFIE::ROperator_LeakyRelu< T >, TMVA::Experimental::SOFIE::ROperator_Pad< T >, TMVA::Experimental::SOFIE::ROperator_Pool< T >, TMVA::Experimental::SOFIE::ROperator_Random, TMVA::Experimental::SOFIE::ROperator_Range< T >, TMVA::Experimental::SOFIE::ROperator_Reduce< T, Op >, TMVA::Experimental::SOFIE::ROperator_Relu< T >, TMVA::Experimental::SOFIE::ROperator_Reshape, TMVA::Experimental::SOFIE::ROperator_ScatterElements, TMVA::Experimental::SOFIE::ROperator_Selu< T >, TMVA::Experimental::SOFIE::ROperator_Shape, TMVA::Experimental::SOFIE::ROperator_Sigmoid< T >, TMVA::Experimental::SOFIE::ROperator_Slice< IType >, TMVA::Experimental::SOFIE::ROperator_Softmax< T >, TMVA::Experimental::SOFIE::ROperator_Split, TMVA::Experimental::SOFIE::ROperator_If, TMVA::Experimental::SOFIE::ROperator_Swish< T >, TMVA::Experimental::SOFIE::ROperator_Tanh< T >, TMVA::Experimental::SOFIE::ROperator_Tile< T >, TMVA::Experimental::SOFIE::ROperator_TopK< T >, TMVA::Experimental::SOFIE::ROperator_Transpose< T >, TMVA::Experimental::SOFIE::ROperator_Where< T >, TMVA::Experimental::SOFIE::ROperator_GRU< T >, and TMVA::Experimental::SOFIE::ROperator_Constant< T >.

◆ GenerateDeclCode()

virtual std::string TMVA::Experimental::SOFIE::ROperator::GenerateDeclCode ( )
inlinevirtual

Reimplemented in TMVA::Experimental::SOFIE::ROperator_Random.

Definition at line 31 of file ROperator.hxx.

◆ GenerateInitCode()

◆ GenerateSessionMembersCode()

virtual std::string TMVA::Experimental::SOFIE::ROperator::GenerateSessionMembersCode ( std::string )
inlinevirtual

◆ GetBlasRoutines()

◆ GetOpInputTensors()

std::span< const std::string_view > TMVA::Experimental::SOFIE::ROperator::GetOpInputTensors ( ) const
inline

Definition at line 50 of file ROperator.hxx.

◆ GetOpOutputTensors()

std::span< const std::string_view > TMVA::Experimental::SOFIE::ROperator::GetOpOutputTensors ( ) const
inline

Definition at line 54 of file ROperator.hxx.

◆ GetStdLibs()

◆ Header()

virtual std::string TMVA::Experimental::SOFIE::ROperator::Header ( )
inlinevirtual

Definition at line 34 of file ROperator.hxx.

◆ Initialize()

virtual void TMVA::Experimental::SOFIE::ROperator::Initialize ( RModel & )
pure virtual

Implemented in TMVA::Experimental::SOFIE::ROperator_GRU< T >, TMVA::Experimental::SOFIE::ROperator_LSTM< T >, TMVA::Experimental::SOFIE::ROperator_RNN< T >, TMVA::Experimental::SOFIE::ROperator_ConvTranspose< T >, TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicNary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicUnary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BatchNormalization< T >, TMVA::Experimental::SOFIE::ROperator_Cast, TMVA::Experimental::SOFIE::ROperator_Comparision< T, Op >, TMVA::Experimental::SOFIE::ROperator_Concat, TMVA::Experimental::SOFIE::ROperator_Constant< T >, TMVA::Experimental::SOFIE::ROperator_Conv< T >, TMVA::Experimental::SOFIE::ROperator_Custom< T >, TMVA::Experimental::SOFIE::ROperator_Einsum< T >, TMVA::Experimental::SOFIE::ROperator_Elu< T >, TMVA::Experimental::SOFIE::ROperator_Erf< T >, TMVA::Experimental::SOFIE::ROperator_Expand< T >, TMVA::Experimental::SOFIE::ROperator_EyeLike, TMVA::Experimental::SOFIE::ROperator_Gather, TMVA::Experimental::SOFIE::ROperator_Gemm< T >, TMVA::Experimental::SOFIE::ROperator_Identity< T >, TMVA::Experimental::SOFIE::ROperator_LayerNormalization< T >, TMVA::Experimental::SOFIE::ROperator_LeakyRelu< T >, TMVA::Experimental::SOFIE::ROperator_Pad< T >, TMVA::Experimental::SOFIE::ROperator_Pool< T >, TMVA::Experimental::SOFIE::ROperator_Random, TMVA::Experimental::SOFIE::ROperator_Range< T >, TMVA::Experimental::SOFIE::ROperator_Reduce< T, Op >, TMVA::Experimental::SOFIE::ROperator_Relu< T >, TMVA::Experimental::SOFIE::ROperator_Reshape, TMVA::Experimental::SOFIE::ROperator_ScatterElements, TMVA::Experimental::SOFIE::ROperator_Selu< T >, TMVA::Experimental::SOFIE::ROperator_Shape, TMVA::Experimental::SOFIE::ROperator_Sigmoid< T >, TMVA::Experimental::SOFIE::ROperator_Slice< IType >, TMVA::Experimental::SOFIE::ROperator_Softmax< T >, TMVA::Experimental::SOFIE::ROperator_Split, TMVA::Experimental::SOFIE::ROperator_If, TMVA::Experimental::SOFIE::ROperator_Swish< T >, TMVA::Experimental::SOFIE::ROperator_Tanh< T >, TMVA::Experimental::SOFIE::ROperator_Tile< T >, TMVA::Experimental::SOFIE::ROperator_TopK< T >, TMVA::Experimental::SOFIE::ROperator_Transpose< T >, and TMVA::Experimental::SOFIE::ROperator_Where< T >.

◆ ShapeInference()

virtual std::vector< std::vector< size_t > > TMVA::Experimental::SOFIE::ROperator::ShapeInference ( std::vector< std::vector< size_t > > )
inlinevirtual

Reimplemented in TMVA::Experimental::SOFIE::ROperator_LSTM< T >, TMVA::Experimental::SOFIE::ROperator_RNN< T >, TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicNary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicUnary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BatchNormalization< T >, TMVA::Experimental::SOFIE::ROperator_Cast, TMVA::Experimental::SOFIE::ROperator_Comparision< T, Op >, TMVA::Experimental::SOFIE::ROperator_Constant< T >, TMVA::Experimental::SOFIE::ROperator_Conv< T >, TMVA::Experimental::SOFIE::ROperator_Einsum< T >, TMVA::Experimental::SOFIE::ROperator_Elu< T >, TMVA::Experimental::SOFIE::ROperator_Erf< T >, TMVA::Experimental::SOFIE::ROperator_Expand< T >, TMVA::Experimental::SOFIE::ROperator_EyeLike, TMVA::Experimental::SOFIE::ROperator_Gather, TMVA::Experimental::SOFIE::ROperator_Gemm< T >, TMVA::Experimental::SOFIE::ROperator_Identity< T >, TMVA::Experimental::SOFIE::ROperator_LayerNormalization< T >, TMVA::Experimental::SOFIE::ROperator_LeakyRelu< T >, TMVA::Experimental::SOFIE::ROperator_Pad< T >, TMVA::Experimental::SOFIE::ROperator_Pool< T >, TMVA::Experimental::SOFIE::ROperator_Random, TMVA::Experimental::SOFIE::ROperator_Range< T >, TMVA::Experimental::SOFIE::ROperator_Reduce< T, Op >, TMVA::Experimental::SOFIE::ROperator_Relu< T >, TMVA::Experimental::SOFIE::ROperator_Reshape, TMVA::Experimental::SOFIE::ROperator_ScatterElements, TMVA::Experimental::SOFIE::ROperator_Selu< T >, TMVA::Experimental::SOFIE::ROperator_Sigmoid< T >, TMVA::Experimental::SOFIE::ROperator_Slice< IType >, TMVA::Experimental::SOFIE::ROperator_Softmax< T >, TMVA::Experimental::SOFIE::ROperator_Split, TMVA::Experimental::SOFIE::ROperator_If, TMVA::Experimental::SOFIE::ROperator_Swish< T >, TMVA::Experimental::SOFIE::ROperator_Tanh< T >, TMVA::Experimental::SOFIE::ROperator_Tile< T >, TMVA::Experimental::SOFIE::ROperator_TopK< T >, TMVA::Experimental::SOFIE::ROperator_Transpose< T >, TMVA::Experimental::SOFIE::ROperator_Where< T >, TMVA::Experimental::SOFIE::ROperator_Concat, TMVA::Experimental::SOFIE::ROperator_GRU< T >, TMVA::Experimental::SOFIE::ROperator_ConvTranspose< T >, and TMVA::Experimental::SOFIE::ROperator_Custom< T >.

Definition at line 24 of file ROperator.hxx.

◆ TypeInference()

virtual std::vector< ETensorType > TMVA::Experimental::SOFIE::ROperator::TypeInference ( std::vector< ETensorType > )
inlinevirtual

Reimplemented in TMVA::Experimental::SOFIE::ROperator_LSTM< T >, TMVA::Experimental::SOFIE::ROperator_RNN< T >, TMVA::Experimental::SOFIE::ROperator_BasicBinary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicNary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BasicUnary< T, Op >, TMVA::Experimental::SOFIE::ROperator_BatchNormalization< T >, TMVA::Experimental::SOFIE::ROperator_Cast, TMVA::Experimental::SOFIE::ROperator_Comparision< T, Op >, TMVA::Experimental::SOFIE::ROperator_Concat, TMVA::Experimental::SOFIE::ROperator_Constant< T >, TMVA::Experimental::SOFIE::ROperator_Conv< T >, TMVA::Experimental::SOFIE::ROperator_ConvTranspose< T >, TMVA::Experimental::SOFIE::ROperator_Einsum< T >, TMVA::Experimental::SOFIE::ROperator_Elu< T >, TMVA::Experimental::SOFIE::ROperator_Erf< T >, TMVA::Experimental::SOFIE::ROperator_Expand< T >, TMVA::Experimental::SOFIE::ROperator_EyeLike, TMVA::Experimental::SOFIE::ROperator_Gather, TMVA::Experimental::SOFIE::ROperator_Gemm< T >, TMVA::Experimental::SOFIE::ROperator_Identity< T >, TMVA::Experimental::SOFIE::ROperator_LayerNormalization< T >, TMVA::Experimental::SOFIE::ROperator_LeakyRelu< T >, TMVA::Experimental::SOFIE::ROperator_Pad< T >, TMVA::Experimental::SOFIE::ROperator_Pool< T >, TMVA::Experimental::SOFIE::ROperator_Random, TMVA::Experimental::SOFIE::ROperator_Range< T >, TMVA::Experimental::SOFIE::ROperator_Reduce< T, Op >, TMVA::Experimental::SOFIE::ROperator_Relu< T >, TMVA::Experimental::SOFIE::ROperator_Reshape, TMVA::Experimental::SOFIE::ROperator_ScatterElements, TMVA::Experimental::SOFIE::ROperator_Selu< T >, TMVA::Experimental::SOFIE::ROperator_Sigmoid< T >, TMVA::Experimental::SOFIE::ROperator_Slice< IType >, TMVA::Experimental::SOFIE::ROperator_Softmax< T >, TMVA::Experimental::SOFIE::ROperator_Split, TMVA::Experimental::SOFIE::ROperator_If, TMVA::Experimental::SOFIE::ROperator_Swish< T >, TMVA::Experimental::SOFIE::ROperator_Tanh< T >, TMVA::Experimental::SOFIE::ROperator_Tile< T >, TMVA::Experimental::SOFIE::ROperator_TopK< T >, TMVA::Experimental::SOFIE::ROperator_Transpose< T >, TMVA::Experimental::SOFIE::ROperator_Where< T >, TMVA::Experimental::SOFIE::ROperator_GRU< T >, and TMVA::Experimental::SOFIE::ROperator_Custom< T >.

Definition at line 25 of file ROperator.hxx.

Member Data Documentation

◆ fInputTensorNames

std::vector<std::string_view> TMVA::Experimental::SOFIE::ROperator::fInputTensorNames
mutableprotected

Definition at line 46 of file ROperator.hxx.

◆ fIsOutputConstant

bool TMVA::Experimental::SOFIE::ROperator::fIsOutputConstant = false
protected

flag to identify if operator has a constant output (no need to generate code)

Definition at line 44 of file ROperator.hxx.

◆ fOutputTensorNames

std::vector<std::string_view> TMVA::Experimental::SOFIE::ROperator::fOutputTensorNames
mutableprotected

Definition at line 47 of file ROperator.hxx.

◆ fUseSession

bool TMVA::Experimental::SOFIE::ROperator::fUseSession = false
protected

flag to identify if using the session class

Definition at line 43 of file ROperator.hxx.

◆ SP

const std::string TMVA::Experimental::SOFIE::ROperator::SP = " "
protected

space used to correctly indent the generated C++ code

Definition at line 42 of file ROperator.hxx.

Libraries for TMVA::Experimental::SOFIE::ROperator:

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