From e0a0146141b2508476d54ca1fe987ce1a7e96ccf Mon Sep 17 00:00:00 2001 From: zyfncg Date: Tue, 14 Jun 2022 10:26:18 +0800 Subject: [PATCH] fix bug of infer shape for slice (#43443) --- paddle/fluid/operators/slice_op.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/paddle/fluid/operators/slice_op.cc b/paddle/fluid/operators/slice_op.cc index a815e12d061..edc72f4125e 100644 --- a/paddle/fluid/operators/slice_op.cc +++ b/paddle/fluid/operators/slice_op.cc @@ -104,7 +104,11 @@ class SliceOp : public framework::OperatorWithKernel { platform::errors::InvalidArgument( "The size of ends must be equal to the size of axes.")); } - + for (auto &axis : axes) { + if (axis < 0) { + axis = std::max(0, axis + in_dims.size()); + } + } phi::funcs::CheckAndUpdateSliceAttrs(in_dims, axes, &starts, &ends, nullptr, &infer_flags); -- GitLab