1#ifndef TMVA_SOFIE_RMODEL_GNN
2#define TMVA_SOFIE_RMODEL_GNN
11namespace Experimental {
14class RFunction_Update;
15class RFunction_Aggregate;
29 std::vector<std::pair<int, int>>
edges;
51 switch (updateFunction.GetFunctionTarget()) {
65 throw std::runtime_error(
"TMVA SOFIE: Invalid Update function supplied for creating GNN function block.");
87 throw std::runtime_error(
"TMVA SOFIE: Invalid Aggregate function supplied for creating GNN function block.");
std::size_t num_edge_features
RModel_GNN(const RModel_GNN &other)=delete
RModel_GNN & operator=(const RModel_GNN &other)=delete
std::unique_ptr< RFunction_Aggregate > node_global_agg_block
~RModel_GNN() final=default
std::unique_ptr< RFunction_Update > globals_update_block
RModel_GNN & operator=(RModel_GNN &&other)
RModel_GNN()=default
Default constructor.
std::unique_ptr< RFunction_Update > edges_update_block
std::unique_ptr< RFunction_Aggregate > edge_global_agg_block
std::unique_ptr< RFunction_Aggregate > edge_node_agg_block
std::size_t num_global_features
std::size_t num_node_features
std::unique_ptr< RFunction_Update > nodes_update_block
create variable transformations
std::vector< std::pair< int, int > > edges
std::unique_ptr< RFunction_Aggregate > node_global_agg_block
std::unique_ptr< RFunction_Update > globals_update_block
std::unique_ptr< RFunction_Update > nodes_update_block
std::unique_ptr< RFunction_Aggregate > edge_node_agg_block
std::unique_ptr< RFunction_Aggregate > edge_global_agg_block
std::size_t num_node_features
void createAggregateFunction(T &aggFunction, FunctionRelation relation)
std::unique_ptr< RFunction_Update > edges_update_block
std::size_t num_global_features
void createUpdateFunction(T &updateFunction)
std::size_t num_edge_features