From 86e200862a69ccccd51cd3208c1499aeb07f7002 Mon Sep 17 00:00:00 2001 From: SunAhong1993 Date: Mon, 28 Dec 2020 10:36:00 +0800 Subject: [PATCH] fix the onnx bug --- x2paddle/decoder/onnx_decoder.py | 4 ---- .../op_mapper/dygraph/onnx2paddle/opset9/opset.py | 14 ++++++++------ .../op_mapper/static/onnx2paddle/opset9/opset.py | 8 +++++++- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/x2paddle/decoder/onnx_decoder.py b/x2paddle/decoder/onnx_decoder.py index 7183508..899c201 100644 --- a/x2paddle/decoder/onnx_decoder.py +++ b/x2paddle/decoder/onnx_decoder.py @@ -311,7 +311,6 @@ class ONNXGraph(Graph): if new_nd_name not in node.which_child: node.which_child[new_nd_name] = idx break - print(node.which_child) else: first_i = node.inputs.index(nd.name) node.which_child[nd.name] = idx @@ -334,13 +333,10 @@ class ONNXGraph(Graph): ipt_node = super(ONNXGraph, self).get_node(node.inputs[idx], copy) new_ipt_name = "{}/{}".format(ipt_node.layer_name, idx) if new_ipt_name in node.which_child: - print(new_ipt_name) ipt_node.index = node.which_child[new_ipt_name] - print("ipt_node.index", ipt_node.index) else: if ipt_node.layer_name in node.which_child: ipt_node.index = node.which_child[ipt_node.layer_name] - print("ipt_node.index", ipt_node.index) return ipt_node diff --git a/x2paddle/op_mapper/dygraph/onnx2paddle/opset9/opset.py b/x2paddle/op_mapper/dygraph/onnx2paddle/opset9/opset.py index 7257e82..ea524e0 100644 --- a/x2paddle/op_mapper/dygraph/onnx2paddle/opset9/opset.py +++ b/x2paddle/op_mapper/dygraph/onnx2paddle/opset9/opset.py @@ -255,10 +255,16 @@ class OpSet9(): if len(node.layer.input) == 2: # opset 10 val_scales = self.graph.get_input_node(node, idx=1, copy=True) - inputs['scale_factor'] = val_scales.name + # TODO(syf): paddle.nn.functional.interpolate will support the length + # which is the same as the rank of input. +# inputs['scale_factor'] = val_scales.name + attrs['scale_factor'] = self.weights[val_scales.name].tolist()[2:] elif len(node.layer.input) == 3: # opset 11 val_scales = self.graph.get_input_node(node, idx=2, copy=True) + # TODO(syf): paddle.nn.functional.interpolate will support the length + # which is the same as the rank of input. +# inputs['scale_factor'] = val_scales.name attrs['scale_factor'] = self.weights[val_scales.name].tolist()[2:] elif len(node.layer.input) == 4: # opset 11 @@ -291,7 +297,7 @@ class OpSet9(): return elif node.layer_type == 'Upsample': val_scales = self.graph.get_input_node(node, idx=1, copy=True) - inputs['scale'] = val_scales + inputs['scale_factor'] = val_scales mode = node.get_attr('mode', 'nearest') attrs.update({"align_corners": False, @@ -1097,10 +1103,6 @@ class OpSet9(): dtypes = set() for i in range(len(node.layer.input)): ipt = self.graph.get_input_node(node, idx=i, copy=True) - try: - print(ipt.index) - except: - pass inputs_list.append(ipt.name) dtypes.add(ipt.dtype) if len(dtypes) > 1: diff --git a/x2paddle/op_mapper/static/onnx2paddle/opset9/opset.py b/x2paddle/op_mapper/static/onnx2paddle/opset9/opset.py index 4875bc4..5d00e66 100644 --- a/x2paddle/op_mapper/static/onnx2paddle/opset9/opset.py +++ b/x2paddle/op_mapper/static/onnx2paddle/opset9/opset.py @@ -245,10 +245,16 @@ class OpSet9(): if len(node.layer.input) == 2: # opset 10 val_scales = self.graph.get_input_node(node, idx=1, copy=True) - inputs['scale_factor'] = val_scales.name + # TODO(syf): paddle.nn.functional.interpolate will support the length + # which is the same as the rank of input. +# inputs['scale_factor'] = val_scales.name + attrs['scale_factor'] = self.params[val_scales.name].tolist()[2:] elif len(node.layer.input) == 3: # opset 11 val_scales = self.graph.get_input_node(node, idx=2, copy=True) + # TODO(syf): paddle.nn.functional.interpolate will support the length + # which is the same as the rank of input. +# inputs['scale_factor'] = val_scales.name attrs['scale_factor'] = self.params[val_scales.name].tolist()[2:] elif len(node.layer.input) == 4: # opset 11 -- GitLab