1#ifndef TMVA_SOFIE_RMODEL
2#define TMVA_SOFIE_RMODEL
4#include <unordered_set>
6#include <unordered_map>
19namespace Experimental{
34 std::string
fName=
"UnnamedModel";
42 const std::unordered_set<std::string>
fAllowedStdLib = {
"vector",
"algorithm",
"cmath"};
61 RModel(std::string
name, std::string parsedtime);
69 void AddOperator(std::unique_ptr<ROperator> op,
int order_execution = -1);
73 for (
auto &routine : routines) {
88 void Generate(
bool useSession =
true,
bool useWeightFile =
true);
#define ClassDef(name, id)
void AddOutputTensorNameList(std::vector< std::string > outputtensornames)
void ReadInitializedTensorsFromFile()
const ETensorType & GetTensorType(std::string name)
void Generate(bool useSession=true, bool useWeightFile=true)
RModel(const RModel &other)=delete
void PrintIntermediateTensors()
void AddIntermediateTensor(std::string tensor_name, ETensorType type, std::vector< std::size_t > shape)
std::unordered_set< std::string > fNeededBlasRoutines
bool CheckIfTensorAlreadyExist(std::string tensor_name)
std::vector< std::unique_ptr< ROperator > > fOperators
void AddInputTensorInfo(std::string input_name, ETensorType type, std::vector< Dim > shape)
std::unordered_map< std::string, TensorInfo > fIntermediateTensorInfos
std::unordered_map< std::string, TensorInfo > fReadyInputTensorInfos
void AddInitializedTensor(std::string tensor_name, ETensorType type, std::vector< std::size_t > shape, std::shared_ptr< void > data)
RModel & operator=(RModel &&other)
void AddBlasRoutines(std::vector< std::string > routines)
std::vector< std::string > fOutputTensorNames
void AddNeededStdLib(std::string libname)
std::unordered_set< std::string > fNeededStdLib
void PrintInitializedTensors()
void AddOperator(std::unique_ptr< ROperator > op, int order_execution=-1)
void HeadInitializedTensors(std::string name, int n_print=50)
void OutputGenerated(std::string filename="")
const std::vector< size_t > & GetTensorShape(std::string name)
RModel & operator=(const RModel &other)=delete
std::unordered_map< std::string, InputTensorInfo > fInputTensorInfos
std::shared_ptr< void > GetInitializedTensorData(std::string tensor_name)
const std::unordered_set< std::string > fAllowedStdLib
void WriteInitializedTensorsToFile(std::string filename="")
std::unordered_map< std::string, InitializedTensor > fInitializedTensors
void UpdateInitializedTensor(std::string tensor_name, ETensorType type, std::vector< std::size_t > shape, std::shared_ptr< void > data)
void PrintRequiredInputTensors()
Mother of all ROOT objects.
create variable transformations