diff --git a/x2paddle/op_mapper/onnx2paddle/opset9/opset.py b/x2paddle/op_mapper/onnx2paddle/opset9/opset.py index 85cde5e662d2a97fbfeb267e1a9228801e46940d..d9232729dbfc9aa22061145a6f2bb52f899b35d4 100755 --- a/x2paddle/op_mapper/onnx2paddle/opset9/opset.py +++ b/x2paddle/op_mapper/onnx2paddle/opset9/opset.py @@ -2000,8 +2000,25 @@ class OpSet9(): @print_mapping_info def Neg(self, node): val_x = self.graph.get_input_node(node, idx=0, copy=True) - self.paddle_graph.add_layer( - "paddle.neg", inputs={'x': val_x.name}, outputs=[node.name]) + v0, v1, v2 = paddle.__version__.split('.') + if int(v0) >= 2 and int(v1) >= 2: + self.paddle_graph.add_layer( + "paddle.neg", inputs={'x': val_x.name}, outputs=[node.name]) + else: + val_y = node.name + "_y" + dtype = np.dtype(val_x.dtype) + self.paddle_graph.add_layer( + "paddle.full", + inputs={}, + outputs=[val_y], + dtype=string(dtype), + shape=[1], + fill_value=-1) + self.paddle_graph.add_layer( + "paddle.multiply", + inputs={'x': val_x.name, + 'y': val_y}, + outputs=[node.name]) @print_mapping_info def SpaceToDepth(self, node):