Definition at line 12 of file RModel.hxx.
Public Member Functions | |
RModel ()=default | |
Default constructor. | |
RModel (std::string function_name) | |
RModel (std::string name, std::string parsedtime) | |
template<class T > | |
void | AddConstantTensor (const std::string &name, const std::vector< size_t > &shape, const std::vector< T > &data) |
template<class T > | |
void | AddConstantTensor (const std::string &name, const std::vector< size_t > &shape, const T *data) |
void | AddConstantTensor (std::string tensor_name, ETensorType type, std::vector< std::size_t > shape, std::shared_ptr< void > data) |
void | AddDynamicTensor (std::string tensor_name, ETensorType type, std::vector< Dim > shape) |
template<typename T > | |
void | AddInitializedTensor (const std::string &tensor_name, const std::vector< std::size_t > &shape, T *raw_data) |
void | AddInitializedTensor (std::string tensor_name, ETensorType type, std::vector< std::size_t > shape, std::shared_ptr< void > data) |
void | AddInputTensorInfo (std::string input_name, ETensorType type, std::vector< Dim > shape) |
void | AddInputTensorInfo (std::string input_name, ETensorType type, std::vector< size_t > shape) |
void | AddInputTensorName (std::string name) |
void | AddIntermediateTensor (std::string tensor_name, ETensorType type, std::vector< Dim > dim_shape) |
void | AddIntermediateTensor (std::string tensor_name, ETensorType type, std::vector< std::size_t > shape) |
void | AddOperator (std::unique_ptr< ROperator > op, int order_execution=-1) |
void | AddOperatorReference (ROperator *op, int order_execution=-1) |
void | AddOutputTensorNameList (std::vector< std::string > output_tensor_names) |
std::string | AllocateIntermediateMemory (std::span< const std::string_view > op_output_tensors) |
void | CheckAndFlushIntermediateMemory (std::span< const std::string_view > op_output_tensors, const size_t &op_idx) |
bool | CheckIfTensorAlreadyExist (std::string tensor_name) |
ClassDefNV (RModel, 3) | |
void | Generate (Options options=Options::kDefault, int batchSize=-1, int pos=0, bool verbose=false) |
void | Generate (std::underlying_type_t< Options > options, int batchSize=-1, long pos=0, bool verbose=false) |
std::string | GenerateInferSignature (bool isdecl=true) |
std::vector< Dim > | GetDynamicTensorShape (std::string name) const |
std::shared_ptr< void > | GetInitializedTensorData (std::string tensor_name) |
const std::vector< std::string > & | GetInputTensorNames () const |
std::vector< std::string > | GetOutputTensorNames () |
const std::vector< std::string > & | GetOutputTensorNames () const |
const std::vector< size_t > & | GetTensorShape (std::string name) const |
const ETensorType & | GetTensorType (std::string name) const |
void | HeadInitializedTensors (std::string name, int n_print=50) |
void | Initialize (const std::map< std::string, size_t > &inputParams, bool verbose=false) |
void | Initialize (int batchSize=-1, bool verbose=false) |
void | InitializeSubGraph (std::shared_ptr< RModel > graph) |
bool | IsConstantTensor (const std::string &name) const |
bool | IsDimInputTensor (const std::string &name) const |
bool | IsDynamicTensor (const std::string &name) const |
bool | IsInitializedTensor (const std::string &name) const |
bool | IsReadyInputTensor (const std::string &name) const |
void | OutputGenerated (std::string filename="", bool append=false) |
void | PrintDynamicTensors () |
void | PrintInitializedTensors () |
void | PrintIntermediateTensors () |
void | PrintOutputTensors () |
void | PrintRequiredInputTensors () |
void | ReadInitializedTensorsFromFile (long) |
void | SetFilename (std::string filename) |
void | SetNotWritableInitializedTensor (const std::string &tensor_name) |
void | SetOptimizationLevel (const OptimizationLevel &optim_level) |
void | UpdateInitializedTensor (std::string tensor_name, ETensorType type, std::vector< std::size_t > shape, std::shared_ptr< void > data) |
void | UpdateOutputTensorList (std::vector< std::string > curr_output_tensor, std::vector< std::string > modify_output_tensor) |
bool | UseSession () const |
int | Verbose () const |
long | WriteInitializedTensorsToFile (std::string filename="") |
![]() | |
RModel_Base ()=default | |
Default constructor. | |
RModel_Base (std::string function_name) | |
RModel_Base (std::string name, std::string parsedtime) | |
void | AddBlasRoutines (std::vector< std::string > routines) |
void | AddNeededCustomHeader (std::string filename) |
void | AddNeededStdLib (std::string libname) |
void | GenerateHeaderInfo (std::string &hgname) |
std::string | GetFilename () |
const std::string & | GetName () const |
void | OutputGenerated (std::string filename="", bool append=false) |
void | PrintGenerated () |
std::string | ReturnGenerated () |
void | SetFilename (std::string filename) |
Protected Member Functions | |
void | GenerateDynamicTensorInfo () |
void | GenerateInitializedTensorInfo () |
void | GenerateIntermediateMemoryPool () |
void | GenerateIntermediateTensorInfo () |
void | GenerateOperatorDeclarations () |
void | GenerateOutput () |
void | GenerateSessionCode () |
Private Attributes | |
int | fBatchSize = -1 |
std::unordered_map< std::string, DynamicTensorInfo > | fDynamicTensorInfos |
std::unordered_map< std::string, InitializedTensor > | fInitializedTensors |
std::unordered_map< std::string, InputTensorInfo > | fInputTensorInfos |
std::vector< std::string > | fInputTensorNames |
MemoryPoolInfo | fIntermediateMemoryInfo |
! intermediate memory info (transient) | |
std::unordered_map< std::string_view, size_t > | fIntermediateTensorFrequencyLookup |
! lookup table for intermediate tensor frequency (transient) | |
std::unordered_map< std::string, TensorInfo > | fIntermediateTensorInfos |
bool | fIsInitialized = false |
bool | fIsSubGraph = false |
std::vector< std::unique_ptr< ROperator > > | fOperators |
OptimizationLevel | fOptimizationLevel = OptimizationLevel::kExtended |
std::vector< std::string > | fOutputTensorNames |
RModel * | fParentGraph = nullptr |
long | fReadPos = 0 |
std::unordered_map< std::string, TensorInfo > | fReadyInputTensorInfos |
std::unordered_map< std::string, std::string > | fShapeParams |
std::vector< std::shared_ptr< RModel > > | fSubGraphs |
! sub-graph models (transient) | |
int | fVerbose = 0 |
Additional Inherited Members | |
![]() | |
std::unordered_set< std::string > | fCustomOpHeaders |
std::string | fFileName |
std::string | fGC |
bool | fIsGNN = false |
bool | fIsGNNComponent = false |
std::string | fName = "UnnamedModel" |
std::unordered_set< std::string > | fNeededBlasRoutines |
std::unordered_set< std::string > | fNeededStdLib = {"vector"} |
std::string | fParseTime |
bool | fUseSession = true |
bool | fUseWeightFile = true |
WeightFileType | fWeightFile = WeightFileType::Text |
#include <TMVA/RModel.hxx>
|
default |
Default constructor.
Needed to allow serialization of ROOT objects. See https://root.cern/manual/io_custom_classes/#restrictions-on-types-root-io-can-handle
|
inline |
Definition at line 48 of file RModel.hxx.
|
inline |
Definition at line 51 of file RModel.hxx.
|
inline |
Definition at line 82 of file RModel.hxx.
|
inline |
Definition at line 74 of file RModel.hxx.
void TMVA::Experimental::SOFIE::RModel::AddConstantTensor | ( | std::string | tensor_name, |
ETensorType | type, | ||
std::vector< std::size_t > | shape, | ||
std::shared_ptr< void > | data ) |
Definition at line 165 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::AddDynamicTensor | ( | std::string | tensor_name, |
ETensorType | type, | ||
std::vector< Dim > | shape ) |
Definition at line 217 of file RModel.cxx.
|
inline |
Definition at line 91 of file RModel.hxx.
void TMVA::Experimental::SOFIE::RModel::AddInitializedTensor | ( | std::string | tensor_name, |
ETensorType | type, | ||
std::vector< std::size_t > | shape, | ||
std::shared_ptr< void > | data ) |
Definition at line 155 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::AddInputTensorInfo | ( | std::string | input_name, |
ETensorType | type, | ||
std::vector< Dim > | shape ) |
Definition at line 105 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::AddInputTensorInfo | ( | std::string | input_name, |
ETensorType | type, | ||
std::vector< size_t > | shape ) |
Definition at line 115 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::AddInputTensorName | ( | std::string | name | ) |
Definition at line 124 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::AddIntermediateTensor | ( | std::string | tensor_name, |
ETensorType | type, | ||
std::vector< Dim > | dim_shape ) |
Definition at line 200 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::AddIntermediateTensor | ( | std::string | tensor_name, |
ETensorType | type, | ||
std::vector< std::size_t > | shape ) |
Definition at line 208 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::AddOperator | ( | std::unique_ptr< ROperator > | op, |
int | order_execution = -1 ) |
Definition at line 128 of file RModel.cxx.
|
inline |
Definition at line 63 of file RModel.hxx.
void TMVA::Experimental::SOFIE::RModel::AddOutputTensorNameList | ( | std::vector< std::string > | output_tensor_names | ) |
Definition at line 238 of file RModel.cxx.
std::string TMVA::Experimental::SOFIE::RModel::AllocateIntermediateMemory | ( | std::span< const std::string_view > | op_output_tensors | ) |
Definition at line 278 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::CheckAndFlushIntermediateMemory | ( | std::span< const std::string_view > | op_output_tensors, |
const size_t & | op_idx ) |
Definition at line 334 of file RModel.cxx.
bool TMVA::Experimental::SOFIE::RModel::CheckIfTensorAlreadyExist | ( | std::string | tensor_name | ) |
Definition at line 95 of file RModel.cxx.
TMVA::Experimental::SOFIE::RModel::ClassDefNV | ( | RModel | , |
3 | ) |
|
inline |
Definition at line 134 of file RModel.hxx.
void TMVA::Experimental::SOFIE::RModel::Generate | ( | std::underlying_type_t< Options > | options, |
int | batchSize = -1, | ||
long | pos = 0, | ||
bool | verbose = false ) |
Definition at line 916 of file RModel.cxx.
|
protected |
Definition at line 651 of file RModel.cxx.
Definition at line 664 of file RModel.cxx.
|
protected |
Definition at line 550 of file RModel.cxx.
|
protected |
Definition at line 573 of file RModel.cxx.
|
protected |
Definition at line 584 of file RModel.cxx.
|
protected |
Definition at line 640 of file RModel.cxx.
|
protected |
Definition at line 710 of file RModel.cxx.
|
protected |
Definition at line 765 of file RModel.cxx.
std::vector< Dim > TMVA::Experimental::SOFIE::RModel::GetDynamicTensorShape | ( | std::string | name | ) | const |
Definition at line 55 of file RModel.cxx.
std::shared_ptr< void > TMVA::Experimental::SOFIE::RModel::GetInitializedTensorData | ( | std::string | tensor_name | ) |
Definition at line 261 of file RModel.cxx.
|
inline |
Definition at line 166 of file RModel.hxx.
|
inline |
Definition at line 175 of file RModel.hxx.
|
inline |
Definition at line 167 of file RModel.hxx.
const std::vector< size_t > & TMVA::Experimental::SOFIE::RModel::GetTensorShape | ( | std::string | name | ) | const |
Definition at line 29 of file RModel.cxx.
const ETensorType & TMVA::Experimental::SOFIE::RModel::GetTensorType | ( | std::string | name | ) | const |
Definition at line 67 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::HeadInitializedTensors | ( | std::string | name, |
int | n_print = 50 ) |
Definition at line 1248 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::Initialize | ( | const std::map< std::string, size_t > & | inputParams, |
bool | verbose = false ) |
Definition at line 383 of file RModel.cxx.
Definition at line 373 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::InitializeSubGraph | ( | std::shared_ptr< RModel > | graph | ) |
Definition at line 484 of file RModel.cxx.
Definition at line 179 of file RModel.cxx.
Definition at line 190 of file RModel.cxx.
Definition at line 186 of file RModel.cxx.
Definition at line 175 of file RModel.cxx.
Definition at line 194 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::OutputGenerated | ( | std::string | filename = "", |
bool | append = false ) |
Definition at line 1284 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::PrintDynamicTensors | ( | ) |
Definition at line 1221 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::PrintInitializedTensors | ( | ) |
Definition at line 1188 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::PrintIntermediateTensors | ( | ) |
Definition at line 1206 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::PrintOutputTensors | ( | ) |
Definition at line 1236 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::PrintRequiredInputTensors | ( | ) |
Definition at line 1158 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::ReadInitializedTensorsFromFile | ( | long | pos | ) |
Definition at line 974 of file RModel.cxx.
|
inline |
Definition at line 176 of file RModel.hxx.
void TMVA::Experimental::SOFIE::RModel::SetNotWritableInitializedTensor | ( | const std::string & | tensor_name | ) |
Definition at line 270 of file RModel.cxx.
|
inline |
Definition at line 146 of file RModel.hxx.
void TMVA::Experimental::SOFIE::RModel::UpdateInitializedTensor | ( | std::string | tensor_name, |
ETensorType | type, | ||
std::vector< std::size_t > | shape, | ||
std::shared_ptr< void > | data ) |
Definition at line 252 of file RModel.cxx.
void TMVA::Experimental::SOFIE::RModel::UpdateOutputTensorList | ( | std::vector< std::string > | curr_output_tensor, |
std::vector< std::string > | modify_output_tensor ) |
Definition at line 245 of file RModel.cxx.
|
inline |
Definition at line 196 of file RModel.hxx.
|
inline |
Definition at line 53 of file RModel.hxx.
long TMVA::Experimental::SOFIE::RModel::WriteInitializedTensorsToFile | ( | std::string | filename = "" | ) |
Definition at line 1046 of file RModel.cxx.
|
private |
Definition at line 18 of file RModel.hxx.
|
private |
Definition at line 27 of file RModel.hxx.
|
private |
Definition at line 25 of file RModel.hxx.
|
private |
Definition at line 23 of file RModel.hxx.
|
private |
Definition at line 31 of file RModel.hxx.
|
private |
! intermediate memory info (transient)
Definition at line 39 of file RModel.hxx.
|
private |
! lookup table for intermediate tensor frequency (transient)
Definition at line 40 of file RModel.hxx.
|
private |
Definition at line 26 of file RModel.hxx.
Definition at line 15 of file RModel.hxx.
Definition at line 16 of file RModel.hxx.
|
private |
Definition at line 33 of file RModel.hxx.
|
private |
Definition at line 21 of file RModel.hxx.
|
private |
Definition at line 30 of file RModel.hxx.
|
private |
Definition at line 36 of file RModel.hxx.
|
private |
Definition at line 19 of file RModel.hxx.
|
private |
Definition at line 24 of file RModel.hxx.
|
private |
Definition at line 29 of file RModel.hxx.
|
private |
! sub-graph models (transient)
Definition at line 35 of file RModel.hxx.
|
private |
Definition at line 17 of file RModel.hxx.