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) | |
| void | AddAliasTensor (const std::string &tensor_name, const std::string &orig_tensor_name) |
| 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) |
| void | AddShapeParam (const std::string &name, size_t def_value=0) |
| void | AddShapeTensor (const std::string &name, const std::vector< Dim > &shapeValues, bool scalar=false) |
| 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) |
| size_t | GetConstantTensorSize () const |
| const std::vector< std::string > & | GetDimShapeNames () const |
| std::vector< Dim > | GetDimTensorShape (const std::string &name) const |
| std::vector< Dim > | GetDynamicTensorShape (const std::string &name) const |
| std::shared_ptr< void > | GetInitializedTensorData (std::string tensor_name) |
| const std::vector< std::string > & | GetInputTensorNames () const |
| size_t | GetIntermediateTensorSize () const |
| size_t | GetOtherTensorSize () const |
| std::vector< std::string > | GetOutputTensorNames () |
| const std::vector< std::string > & | GetOutputTensorNames () const |
| const std::vector< Dim > & | GetShapeTensorValues (const std::string &tensor_name) const |
| template<class T > | |
| std::vector< T > | GetTensorData (const std::string &name) |
| template<> | |
| std::vector< Dim > | GetTensorData (const std::string &name) |
| std::vector< size_t > | GetTensorShape (const std::string &name) const |
| ETensorType | GetTensorType (std::string name) const |
| size_t | GetWeightsTensorSize () 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 | IsAliasTensor (const std::string &name) const |
| check if a tensor is a alias tensor | |
| 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 |
| bool | IsShapeTensor (const std::string &name) const |
| check if a tensor is a shape tensor | |
| void | OutputGenerated (std::string filename="", bool append=false) |
| void | PrintDynamicTensors () const |
| void | PrintInitializedTensors () const |
| void | PrintIntermediateTensors () const |
| void | PrintOutputTensors () const |
| void | PrintRequiredInputTensors () const |
| 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="") |
Public Member Functions inherited from TMVA::Experimental::SOFIE::RModel_Base | |
| 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 | |
| std::unordered_map< std::string, std::string > | fAliasTensors |
| int | fBatchSize = -1 |
| size_t | fConstantTensorSize = 0 |
| std::vector< std::string > | fDimShapeNames |
| 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 |
| size_t | fOtherTensorSize = 0 |
| 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::unordered_map< std::string, std::pair< std::vector< Dim >, bool > > | fShapeTensors |
| std::vector< std::shared_ptr< RModel > > | fSubGraphs |
| ! sub-graph models (transient) | |
| int | fVerbose = 0 |
| size_t | fWeightsTensorSize = 0 |
Additional Inherited Members | |
Protected Attributes inherited from TMVA::Experimental::SOFIE::RModel_Base | |
| 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 55 of file RModel.hxx.
|
inline |
Definition at line 58 of file RModel.hxx.
| void TMVA::Experimental::SOFIE::RModel::AddAliasTensor | ( | const std::string & | tensor_name, |
| const std::string & | orig_tensor_name ) |
Definition at line 211 of file RModel.cxx.
|
inline |
Definition at line 98 of file RModel.hxx.
|
inline |
Definition at line 90 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 193 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddDynamicTensor | ( | std::string | tensor_name, |
| ETensorType | type, | ||
| std::vector< Dim > | shape ) |
Definition at line 279 of file RModel.cxx.
|
inline |
Definition at line 107 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 183 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddInputTensorInfo | ( | std::string | input_name, |
| ETensorType | type, | ||
| std::vector< Dim > | shape ) |
Definition at line 133 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddInputTensorInfo | ( | std::string | input_name, |
| ETensorType | type, | ||
| std::vector< size_t > | shape ) |
Definition at line 143 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddInputTensorName | ( | std::string | name | ) |
Definition at line 152 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddIntermediateTensor | ( | std::string | tensor_name, |
| ETensorType | type, | ||
| std::vector< Dim > | dim_shape ) |
Definition at line 262 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 270 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddOperator | ( | std::unique_ptr< ROperator > | op, |
| int | order_execution = -1 ) |
Definition at line 156 of file RModel.cxx.
|
inline |
Definition at line 76 of file RModel.hxx.
| void TMVA::Experimental::SOFIE::RModel::AddOutputTensorNameList | ( | std::vector< std::string > | output_tensor_names | ) |
Definition at line 304 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddShapeParam | ( | const std::string & | name, |
| size_t | def_value = 0 ) |
Definition at line 296 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::AddShapeTensor | ( | const std::string & | name, |
| const std::vector< Dim > & | shapeValues, | ||
| bool | scalar = false ) |
Definition at line 203 of file RModel.cxx.
| std::string TMVA::Experimental::SOFIE::RModel::AllocateIntermediateMemory | ( | std::span< const std::string_view > | op_output_tensors | ) |
Definition at line 344 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 449 of file RModel.cxx.
| bool TMVA::Experimental::SOFIE::RModel::CheckIfTensorAlreadyExist | ( | std::string | tensor_name | ) |
Definition at line 122 of file RModel.cxx.
| TMVA::Experimental::SOFIE::RModel::ClassDefNV | ( | RModel | , |
| 3 | ) |
|
inline |
Definition at line 161 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 1174 of file RModel.cxx.
|
protected |
Definition at line 838 of file RModel.cxx.
Definition at line 915 of file RModel.cxx.
|
protected |
Definition at line 730 of file RModel.cxx.
|
protected |
Definition at line 759 of file RModel.cxx.
|
protected |
Definition at line 770 of file RModel.cxx.
|
protected |
Definition at line 827 of file RModel.cxx.
|
protected |
Definition at line 961 of file RModel.cxx.
|
protected |
Definition at line 1016 of file RModel.cxx.
|
inline |
Definition at line 176 of file RModel.hxx.
|
inline |
Definition at line 208 of file RModel.hxx.
| std::vector< Dim > TMVA::Experimental::SOFIE::RModel::GetDimTensorShape | ( | const std::string & | name | ) | const |
Definition at line 65 of file RModel.cxx.
| std::vector< Dim > TMVA::Experimental::SOFIE::RModel::GetDynamicTensorShape | ( | const std::string & | name | ) | const |
Definition at line 76 of file RModel.cxx.
| std::shared_ptr< void > TMVA::Experimental::SOFIE::RModel::GetInitializedTensorData | ( | std::string | tensor_name | ) |
Definition at line 327 of file RModel.cxx.
|
inline |
Definition at line 206 of file RModel.hxx.
|
inline |
Definition at line 182 of file RModel.hxx.
|
inline |
Definition at line 180 of file RModel.hxx.
|
inline |
Definition at line 216 of file RModel.hxx.
|
inline |
Definition at line 207 of file RModel.hxx.
| const std::vector< Dim > & TMVA::Experimental::SOFIE::RModel::GetShapeTensorValues | ( | const std::string & | tensor_name | ) | const |
Definition at line 229 of file RModel.cxx.
|
inline |
Definition at line 247 of file RModel.hxx.
|
inline |
Definition at line 247 of file RModel.hxx.
| std::vector< size_t > TMVA::Experimental::SOFIE::RModel::GetTensorShape | ( | const std::string & | name | ) | const |
Definition at line 29 of file RModel.cxx.
| ETensorType TMVA::Experimental::SOFIE::RModel::GetTensorType | ( | std::string | name | ) | const |
Definition at line 90 of file RModel.cxx.
|
inline |
Definition at line 178 of file RModel.hxx.
| void TMVA::Experimental::SOFIE::RModel::HeadInitializedTensors | ( | std::string | name, |
| int | n_print = 50 ) |
Definition at line 1517 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::Initialize | ( | const std::map< std::string, size_t > & | inputParams, |
| bool | verbose = false ) |
Definition at line 538 of file RModel.cxx.
Definition at line 528 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::InitializeSubGraph | ( | std::shared_ptr< RModel > | graph | ) |
Definition at line 663 of file RModel.cxx.
check if a tensor is a alias tensor
Definition at line 225 of file RModel.cxx.
Definition at line 238 of file RModel.cxx.
Definition at line 252 of file RModel.cxx.
Definition at line 247 of file RModel.cxx.
Definition at line 234 of file RModel.cxx.
Definition at line 256 of file RModel.cxx.
check if a tensor is a shape tensor
Definition at line 221 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::OutputGenerated | ( | std::string | filename = "", |
| bool | append = false ) |
Definition at line 1553 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::PrintDynamicTensors | ( | ) | const |
Definition at line 1488 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::PrintInitializedTensors | ( | ) | const |
Definition at line 1455 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::PrintIntermediateTensors | ( | ) | const |
Definition at line 1473 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::PrintOutputTensors | ( | ) | const |
Definition at line 1503 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::PrintRequiredInputTensors | ( | ) | const |
Definition at line 1425 of file RModel.cxx.
| void TMVA::Experimental::SOFIE::RModel::ReadInitializedTensorsFromFile | ( | long | pos | ) |
Definition at line 1239 of file RModel.cxx.
|
inline |
Definition at line 217 of file RModel.hxx.
| void TMVA::Experimental::SOFIE::RModel::SetNotWritableInitializedTensor | ( | const std::string & | tensor_name | ) |
Definition at line 336 of file RModel.cxx.
|
inline |
Definition at line 173 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 318 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 311 of file RModel.cxx.
|
inline |
Definition at line 237 of file RModel.hxx.
|
inline |
Definition at line 60 of file RModel.hxx.
| long TMVA::Experimental::SOFIE::RModel::WriteInitializedTensorsToFile | ( | std::string | filename = "" | ) |
Definition at line 1313 of file RModel.cxx.
|
private |
Definition at line 33 of file RModel.hxx.
|
private |
Definition at line 18 of file RModel.hxx.
|
private |
Definition at line 20 of file RModel.hxx.
|
private |
Definition at line 34 of file RModel.hxx.
|
private |
Definition at line 30 of file RModel.hxx.
|
private |
Definition at line 28 of file RModel.hxx.
|
private |
Definition at line 26 of file RModel.hxx.
|
private |
Definition at line 36 of file RModel.hxx.
|
private |
! intermediate memory info (transient)
Definition at line 46 of file RModel.hxx.
|
private |
! lookup table for intermediate tensor frequency (transient)
Definition at line 47 of file RModel.hxx.
|
private |
Definition at line 29 of file RModel.hxx.
Definition at line 15 of file RModel.hxx.
Definition at line 16 of file RModel.hxx.
|
private |
Definition at line 40 of file RModel.hxx.
|
private |
Definition at line 24 of file RModel.hxx.
|
private |
Definition at line 22 of file RModel.hxx.
|
private |
Definition at line 35 of file RModel.hxx.
|
private |
Definition at line 43 of file RModel.hxx.
|
private |
Definition at line 19 of file RModel.hxx.
|
private |
Definition at line 27 of file RModel.hxx.
|
private |
Definition at line 32 of file RModel.hxx.
|
private |
Definition at line 31 of file RModel.hxx.
|
private |
! sub-graph models (transient)
Definition at line 42 of file RModel.hxx.
|
private |
Definition at line 17 of file RModel.hxx.
|
private |
Definition at line 21 of file RModel.hxx.