3#include "onnx_proto3.pb.h"
6namespace Experimental {
10 const onnx::NodeProto &
addnode) -> std::unique_ptr<ROperator> {
13 throw std::runtime_error(
"Cannot fuse ConvTranspose and Add operators");
22 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser ConvTranspose op has input tensor " +
input_name +
23 " but its type is not yet registered");
26 std::unique_ptr<ROperator>
op;
60 std::cout <<
"TMVA::SOFIE Warning - Model Loading - Attribute " <<
attribute_name <<
" in OperatorNode "
61 <<
convnode.name() <<
" is not defined in ONNX IR and not applied!\n";
64 if (
addnode.input_size() != 2) {
65 throw std::runtime_error(
"TMVA::SOFIE - Cannote fuse ConvTranspose - Add is input size of add is not 2");
73 throw std::runtime_error(
"TMVA::SOFIE - Cannote fuse ConvTranspose - Output of ConvTrans is not input to Add");
82 throw std::runtime_error(
"TMVA::SOFIE - Unsupported - Operator ConvTranspose 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 ParseFuseConvTransposeAdd
create variable transformations