3#include "onnx_proto3.pb.h"
6namespace Experimental {
12 auto input_name = nodeproto.input(0);
16 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser BatchNorm op has input tensor " + input_name +
17 " but its type is not yet registered");
20 std::unique_ptr<ROperator> op;
21 std::string output_name = nodeproto.output(0);
22 float fepsilon = 1
e-05;
23 float fmomentum = 0.9;
24 std::size_t ftraining_mode = 0;
28 if (nodeproto.input_size() == 5) {
30 nodeproto.input(1), nodeproto.input(2), nodeproto.input(3),
31 nodeproto.input(4), output_name));
35 throw std::runtime_error(
"TMVA::SOFIE - Unsupported - Operator BatchNorm does not yet support input type " +
36 std::to_string(
static_cast<int>(input_type)));
bool IsRegisteredTensorType(const std::string &)
void RegisterTensorType(const std::string &, ETensorType)
ETensorType GetTensorType(const std::string &name)
ParserFuncSignature ParseBatchNormalization
std::function< std::unique_ptr< ROperator >(RModelParser_ONNX &, const onnx::NodeProto &)> ParserFuncSignature
create variable transformations