3#include "onnx_proto3.pb.h"
6namespace Experimental {
10 const onnx::NodeProto &
relunode) -> std::unique_ptr<ROperator> {
17 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser MatMul op has input tensor " +
input_name +
18 " but its type is not yet registered");
22 std::unique_ptr<ROperator>
op;
29 for (
int i = 0; i <
gemmnode.attribute_size(); i++) {
38 throw std::runtime_error(
"TMVA::SOFIE Error - Model Loading - attribute transA in Operator Gemm not 0/1");
42 throw std::runtime_error(
"TMVA::SOFIE Error - Model Loading - attribute transB in Operator Gemm not 0/1");
44 std::cout <<
"TMVA::SOFIE Warning - Model Loading - Attribute " <<
attribute_name <<
" in OperatorNode "
45 <<
gemmnode.name() <<
" is not defined in ONNX IR and not applied!\n";
59 throw std::runtime_error(
"TMVA::SOFIE - Unsupported - Operator Gemm does not yet support input type " +
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
bool IsRegisteredTensorType(const std::string &)
void RegisterTensorType(const std::string &, ETensorType)
ETensorType GetTensorType(const std::string &name)
std::function< std::unique_ptr< ROperator >(RModelParser_ONNX &, const onnx::NodeProto &, const onnx::NodeProto &)> ParserFuseFuncSignature
ParserFuseFuncSignature ParseFuseGemmRelu
create variable transformations