3#include "onnx_proto3.pb.h"
6namespace Experimental {
13 auto input_name = matmulnode.input(0);
17 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser MatMul op has input tensor " + input_name +
18 " but its type is not yet registered");
21 std::unique_ptr<ROperator> op;
23 float attr_alpha = 1.0;
24 float attr_beta = 1.0;
25 int_t attr_transA = 0;
26 int_t attr_transB = 0;
30 op.reset(
new ROperator_Gemm<float>(attr_alpha, attr_beta, attr_transA, attr_transB, matmulnode.input(0),
31 matmulnode.input(1), matmulnode.output(0)));
34 throw std::runtime_error(
35 "TMVA::SOFIE - Unsupported - Operator for fusing MatMul and Add to Gemm does not yet support input type " +
36 std::to_string(
static_cast<int>(input_type)));
39 std::string output_name = matmulnode.output(0);
bool IsRegisteredTensorType(const std::string &)
void RegisterTensorType(const std::string &, ETensorType)
ETensorType GetTensorType(const std::string &name)
ParserFuncSignature ParseMatMul
std::function< std::unique_ptr< ROperator >(RModelParser_ONNX &, const onnx::NodeProto &)> ParserFuncSignature
create variable transformations