diff --git a/docs/inference_model_convertor/op_list.md b/docs/inference_model_convertor/op_list.md index 57d8a922d947c2f148ad1ae3cfef3736ccbdcf05..b8e89a8691d6b387b81083876e7c3abc39a3a2a2 100755 --- a/docs/inference_model_convertor/op_list.md +++ b/docs/inference_model_convertor/op_list.md @@ -76,6 +76,7 @@ | 81 | Add | 82 | Concat | 83 | Max | 84 | Min | | 85 | GreaterOrEqual | 86 | GatherND | 87 | And | 88 | cos | | 89 | Neg | 90 | SpaceToDepth | 91 | GatherElement | 92 | Sin | +| 93 | CumSum | | | | | | | ## PyTorch diff --git a/x2paddle/op_mapper/onnx2paddle/opset9/opset.py b/x2paddle/op_mapper/onnx2paddle/opset9/opset.py index 05acacdabccfddb37d45c6b8cc23d3828c46057d..a4b3a1565f746e098ccbc77fc6506d345f9fb07c 100755 --- a/x2paddle/op_mapper/onnx2paddle/opset9/opset.py +++ b/x2paddle/op_mapper/onnx2paddle/opset9/opset.py @@ -457,6 +457,19 @@ class OpSet9(): outputs=[node.name], **attrs) + @print_mapping_info + def CumSum(self, node): + val_x = self.graph.get_input_node(node, idx=0, copy=True) + axis = self.graph.get_input_node(node, idx=1, copy=True) + axis_values = _const_weight_or_none(axis) + assert axis_values is not None, 'Axis only support constant tensor!' + layer_attrs = {'axis': axis_values} + self.paddle_graph.add_layer( + 'paddle.cumsum', + inputs={"x": val_x.name}, + outputs=[node.name], + **layer_attrs) + @print_mapping_info def HardSigmoid(self, node): val_x = self.graph.get_input_node(node, idx=0, copy=True)