3#include "onnx_proto3.pb.h"
6namespace Experimental {
12 auto input_name = nodeproto.input(0);
16 throw std::runtime_error(
"TMVA::SOFIE ONNX Parser tranpose 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 std::vector<int_t> attr_perm;
24 if (nodeproto.attribute_size() == 1) {
25 attr_perm.assign(nodeproto.attribute(0).ints().begin(), nodeproto.attribute(0).ints().end());
30 if (!attr_perm.empty()) {
37 throw std::runtime_error(
"TMVA::SOFIE - Unsupported - Operator Transpose does not yet support input type " +
38 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 ParseTranspose
std::function< std::unique_ptr< ROperator >(RModelParser_ONNX &, const onnx::NodeProto &)> ParserFuncSignature
create variable transformations