helper.make_graph 函数需要传入节点、图名称、输入张量信息、输出张量信息这 4 个参数。如下面的代码所示,我们把之前构造出来的 NodeProto 对象和 ValueInfoProto 对象按照顺序传入即可。 graph = helper.make_graph([mul, add],'linear_func', [a, x, b], [...
可以通过helper模块提供的函数helper.make_graph完成创建 ONNX 格式的模型。创建graph之前,需要先创建相应的NodeProto(node),参照文档设定节点的属性,指定该节点的输入与输出,如果该节点带有权重那还需要创建相应的ValueInfoProto和TensorProto分别放入graph中的input和initializer中,以上步骤缺一不可。 importonnx fromonnx...
conv_node = helper.make_node("Conv",['conv_input','conv_weight','conv_bias'],['conv_output'],name='conv') add_node = helper.make_node('Add',['conv_output','add_input'],['output'],name='add') # makegraph graph = helper.make_graph([resize_node...
helper.make_graph函数需要传入节点、图名称、输入张量信息、输出张量信息这 4 个参数。如下面的代码所示,我们把之前构造出来的NodeProto对象和ValueInfoProto对象按照顺序传入即可。 graph=helper.make_graph([mul,add],'linear_func',[a,x,b],[output]) 这里make_graph的节点参数有一个要求:计算图的节点必须以...
make_node("IsInf", ["X"], ["Y"]) graph_def = helper.make_graph( [node_def], name="test_unknown_shape", inputs=[ helper.make_tensor_value_info("X", TensorProto.FLOAT, [None]), ], outputs=[helper.make_tensor_value_info("Y", TensorProto.BOOL, [None])]) tf_rep = onnx_...
最后,通过helper.make_model把计算图GraphProto封装进模型ModelProto里,一个ONNX模型就构造完成了。make_model函数中还可以添加模型制作者、版本等信息。 构造完模型之后,需要检查模型正确性、把模型以文本形式输出、存储到一个".onnx"文件里,并加载该文件。这里用onnx.checker.check_model来检查模型是否满足ONNX标准...
graph.node.insert(0, sub_node) 1. 仿造这样的流程我们继续加入除以方差的操作 # 插入mul mul_const_node = onnx.helper.make_tensor(name='const_mul', data_type=onnx.TensorProto.FLOAT, dims=[1], vals=[1.0 / 127.5]) graph.initializer.append(mul_const_node) ...
model=helper.make_model(graph) 构造完模型之后,我们用下面这三行代码来检查模型正确性、把模型以文本形式输出、存储到一个 ".onnx" 文件里。这里用onnx.checker.check_model来检查模型是否满足 ONNX 标准是必要的,因为无论模型是否满足标准,ONNX 都允许我们用onnx.save存储模型。我们肯定不希望生成一个不满足标...
他们之间的关系:ONNX 模型load之后,得到的是一个ModelProto,它包含了一些版本信息,生产者信息和一个非常重要的GraphProto;在GraphProto中包含了四个关键的repeated数组,分别是node(NodeProto 类型),input(ValueInfoProto 类型),output(ValueInfoProto 类型)和initializer(TensorProto 类型),其中node中存放着模型中的所有...
def test_eliminate_unused_initializer_no_eliminate_output(self): # type: () -> None add = helper.make_node("Add", ["X", "Y"], ["Z"]) graph = helper.make_graph( [add], "test", [helper.make_tensor_value_info("X", TensorProto.FLOAT, (1, 2)), helper.make_tensor_value_info...