在没有模型的情况下打印 ONNXRUNTIME::Graph

Print ONNXRUNTIME::Graph without having Model

我正在开发新的优化器,它继承自 GraphTransformer in c++

如何在 ApplyImpl 结束后查看我所做的更改 我试过 graph.ToGraphProto() 但我无法保存 我需要制作一个新的 Model 才能保存它并在 Netron 或其他东西中查看它

找到了 需要制作新的模型和版本 需要获取 SchemaRegistry:

ModelProto model_proto1;
model_proto1.set_ir_version(IR_VERSION);
OperatorSetIdProto* op_set_id = model_proto1.add_opset_import();
op_set_id->set_domain("");
op_set_id->set_version(12);
model_proto1.set_allocated_graph(new GraphProto(graph.ToGraphProto()));
IOnnxRuntimeOpSchemaRegistryList local_registries{graph.GetSchemaRegistry()};


Model model(model_proto1, &local_registries, logger);
onnxruntime::Model::Save(model, "/tmp/new_g.onnx");