我通常使用onnx.compose.merge 运算符。如果您有一个现有模型 original_model 具有一些命名输出,在此示例中 output_original_model 您可以从您的节点创建一个图形并使用 compose 组合它们。
original_model = ...
argmax = onnx.helper.make_node(
'ArgMax',
inputs=['inp'],
outputs=['out'],
axis=0,
keepdims=0)
graph = onnx.helper.make_graph(
nodes=[
argmax,
],
name="argmaz",
inputs=[
onnx.helper.make_tensor_value_info(
"inp", onnx.TensorProto.FLOAT, [None, None, input_size]
)
],
outputs=[
onnx.helper.make_tensor_value_info(
"out", onnx.TensorProto.FLOAT, [None, out_size]
)
],
)
combined_model = onnx.compose.merge_models(
onnx_original, graph, io_map=[("output_original_model", "inp")]
)