3#include "onnx_proto3.pb.h"
7namespace Experimental {
12 auto input_name = nodeproto.input(0);
16 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser Gather op has input tensor" + input_name +
17 " but its type is not yet registered");
21 auto indices_name = nodeproto.input(1);
27 std::runtime_error(
"TMVA::SOFIE ONNX Parser Gather op Indices tensor type not supported.");
31 std::unique_ptr<ROperator> op;
32 std::string output_name = nodeproto.output(0);
33 int64_t attr_axis = 0;
34 if (nodeproto.attribute_size() == 1) {
35 attr_axis = nodeproto.attribute(0).i();
38 op.reset(
new ROperator_Gather(attr_axis, input_name, indices_name, nodeproto.output(0)));
bool IsRegisteredTensorType(const std::string &)
void RegisterTensorType(const std::string &, ETensorType)
ETensorType GetTensorType(const std::string &name)
ParserFuncSignature ParseGather
std::function< std::unique_ptr< ROperator >(RModelParser_ONNX &, const onnx::NodeProto &)> ParserFuncSignature
create variable transformations