diff --git a/paddle/fluid/operators/transpose_op.cc b/paddle/fluid/operators/transpose_op.cc index 95b2c13ff6c631c05ab3abd2cf582ad3603dc031..da7f824b3a6f12db6adcf90fd448fc18aa3030af 100644 --- a/paddle/fluid/operators/transpose_op.cc +++ b/paddle/fluid/operators/transpose_op.cc @@ -48,6 +48,12 @@ class TransposeOp : public framework::OperatorWithKernel { std::vector count(axis_size, 0); for (size_t i = 0; i < axis_size; i++) { + PADDLE_ENFORCE_GE(axis[i], 0, + platform::errors::InvalidArgument( + "The axis should be greater than or equal to 0." + "But received %d of axis[%d]", + axis[i], i)); + PADDLE_ENFORCE_EQ( axis[i] < static_cast(axis_size) && ++count[axis[i]] == 1, true, platform::errors::InvalidArgument(