diff --git a/paddle/fluid/operators/slice_op.cc b/paddle/fluid/operators/slice_op.cc index b49e026b5e2e2ff7b74ac60febabc00c1f26484e..0a41424cfa11864879ff93d3807a3746a685b00d 100644 --- a/paddle/fluid/operators/slice_op.cc +++ b/paddle/fluid/operators/slice_op.cc @@ -121,6 +121,13 @@ class SliceOp : public framework::OperatorWithKernel { start = std::max(start, 0); end = std::max(end, 0); end = std::min(end, dim_value); + + PADDLE_ENFORCE_LE(start, dim_value, + platform::errors::InvalidArgument( + "start should be less than or equal to the " + "dimension value, but received " + "start = %d, shape[%d] = %d.", + starts[i], axes[i], out_dims[axes[i]])); PADDLE_ENFORCE_GT(end, start, platform::errors::InvalidArgument( "end should greater than start, but received "