3#include "onnx_proto3.pb.h"
6namespace Experimental {
10 const onnx::NodeProto &
addnode) {
11 if (
addnode.input_size() != 2) {
12 throw std::runtime_error(
"TMVA::SOFIE - Cannot fuse Conv and Add - Add input size is not 2");
20 throw std::runtime_error(
"TMVA::SOFIE - Cannot fuse Conv and Add - output of Conv is not input to Add");
27 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser Conv op has input tensor " +
input_name +
28 " but its type is not yet registered");
31 std::unique_ptr<ROperator>
op;
55 std::cout <<
"TMVA::SOFIE Warning - Model Loading - Attribute " <<
attribute_name <<
" in OperatorNode "
56 <<
convnode.name() <<
" is not defined in ONNX IR and not applied!\n";
67 throw std::runtime_error(
"TMVA::SOFIE - Unsupported - Operator Conv 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.
const_iterator end() const
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 ParseFuseConvAdd
create variable transformations