11 if (nodeproto.input_size() != 3) {
12 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser ScatterElements op has invalid input size");
16 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser ScatterElements op has input tensor " + nodeproto.input(0)
17 +
" but its type is not yet registered");
20 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser ScatterElements op has input tensor " + nodeproto.input(1)
21 +
" but its type is not yet registered");
24 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser ScatterElements op has input tensor " + nodeproto.input(2)
25 +
" but its type is not yet registered");
29 throw std::runtime_error(
"TMVA::SOFIE ONNX parser ScatterElements op has input tensors of different types: " +
35 std::string reduction;
36 for (
int i = 0; i < nodeproto.attribute_size(); i++) {
37 std::string attribute_name = nodeproto.attribute(i).name();
38 if (attribute_name ==
"axis")
39 axis = nodeproto.attribute(i).i();
40 else if (attribute_name ==
"reduction")
41 reduction = nodeproto.attribute(i).s();
44 std::unique_ptr<ROperator> op;
45 std::string output_name = nodeproto.output(0);
48 output_name, axis, reduction));