From 927f817fba07aeb356ba996866edd40b1ab902f2 Mon Sep 17 00:00:00 2001 From: enkilee Date: Fri, 17 May 2024 12:42:19 +0800 Subject: [PATCH 1/5] fix part --- .../cinn/frontend/op_mappers/paddle/relu.cc | 37 +++++++++++++++---- .../frontend/op_mappers/paddle/reshape.cc | 17 +++++++-- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/paddle/cinn/frontend/op_mappers/paddle/relu.cc b/paddle/cinn/frontend/op_mappers/paddle/relu.cc index 0bfc802dbef3ea..4596da3c39a340 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/relu.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/relu.cc @@ -14,16 +14,22 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void ReluOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Relu op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Relu op must be 1.")); auto out_name = op_desc.Output("Out").front(); auto x = ctx.GetVar(x_name); auto out = ctx.Builder()->Relu(x); @@ -34,9 +40,15 @@ void ReluOpMapper(const paddle::cpp::OpDesc& op_desc, void Relu6OpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Relu6 op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Relu6 op must be 1.")); auto out_name = op_desc.Output("Out").front(); auto threshold = utils::GetAttrOrDefault(op_desc, "threshold", 6.0f); @@ -49,11 +61,20 @@ void Relu6OpMapper(const paddle::cpp::OpDesc& op_desc, void ReluGradOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input(paddle::GradVarName("Out")).size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input(paddle::GradVarName("Out")).size(), + 1UL, + phi::errors::InvalidArgument("The input of ReluGrad op must be 1.")); auto dout_name = op_desc.Input(paddle::GradVarName("Out")).front(); - CHECK_EQ(op_desc.Input("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("Out").size(), + 1UL, + phi::errors::InvalidArgument("The input of ReluGrad op must be 1.")); auto out_name = op_desc.Input("Out").front(); - CHECK_EQ(op_desc.Output(paddle::GradVarName("X")).size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output(paddle::GradVarName("X")).size(), + 1UL, + phi::errors::InvalidArgument("The output of ReluGrad op must be 1.")); auto dx_name = op_desc.Output(paddle::GradVarName("X")).front(); auto dout = ctx.GetVar(dout_name); diff --git a/paddle/cinn/frontend/op_mappers/paddle/reshape.cc b/paddle/cinn/frontend/op_mappers/paddle/reshape.cc index f284501c71a5b3..4b2b5aea86fd82 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/reshape.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/reshape.cc @@ -15,14 +15,17 @@ #include "paddle/cinn/backends/cuda_util.h" #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void ReshapeOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Reshape op must be 1.")); auto x_name = op_desc.Input("X").front(); auto x = ctx.GetVar(x_name); @@ -33,7 +36,10 @@ void ReshapeOpMapper(const paddle::cpp::OpDesc& op_desc, auto out = ctx.Builder()->Reshape(x, shape); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Reshape op must be 1.")); auto out_name = op_desc.Output("Out").front(); ctx.AddVar(out_name, out); ctx.AddVarModelToProgram(out_name, out->id); @@ -42,7 +48,10 @@ void ReshapeOpMapper(const paddle::cpp::OpDesc& op_desc, void ReshapeGradOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { auto get_input_var = [&op_desc, &ctx](const std::string& op_name) { - CHECK_EQ(op_desc.Input(op_name).size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input(op_name).size(), + 1UL, + phi::errors::InvalidArgument("The input of ReshapeGrad op must be 1.")); auto var_name = op_desc.Input(op_name).front(); return ctx.GetVar(var_name); }; From 4cbb00db8cffa770eccc5ff68b29ecc90e4c73ca Mon Sep 17 00:00:00 2001 From: enkilee Date: Fri, 17 May 2024 16:13:29 +0800 Subject: [PATCH 2/5] fix --- .../frontend/op_mappers/paddle/reshape.cc | 38 +++++++++++---- .../frontend/op_mappers/paddle/reverse.cc | 12 +++-- .../cinn/frontend/op_mappers/paddle/roll.cc | 48 ++++++++++++++----- .../cinn/frontend/op_mappers/paddle/scale.cc | 17 +++++-- .../frontend/op_mappers/paddle/scatter.cc | 33 +++++++++---- .../cinn/frontend/op_mappers/paddle/slice.cc | 27 ++++++++--- .../frontend/op_mappers/paddle/softmax.cc | 12 +++-- .../frontend/op_mappers/paddle/squeeze.cc | 17 +++++-- .../op_mappers/paddle/strided_slice.cc | 37 ++++++++++---- .../op_mappers/paddle/take_along_axis.cc | 17 +++++-- .../cinn/frontend/op_mappers/paddle/tile.cc | 26 +++++++--- .../cinn/frontend/op_mappers/paddle/top_k.cc | 22 +++++++-- .../frontend/op_mappers/paddle/transpose.cc | 27 ++++++++--- .../op_mappers/paddle/triangular_solve.cc | 17 +++++-- .../cinn/frontend/op_mappers/paddle/unary.cc | 12 +++-- .../op_mappers/paddle/uniform_random.cc | 7 ++- .../frontend/op_mappers/paddle/unsqueeze.cc | 17 +++++-- 17 files changed, 292 insertions(+), 94 deletions(-) diff --git a/paddle/cinn/frontend/op_mappers/paddle/reshape.cc b/paddle/cinn/frontend/op_mappers/paddle/reshape.cc index 4b2b5aea86fd82..3cce86ac6dcbda 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/reshape.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/reshape.cc @@ -48,16 +48,19 @@ void ReshapeOpMapper(const paddle::cpp::OpDesc& op_desc, void ReshapeGradOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { auto get_input_var = [&op_desc, &ctx](const std::string& op_name) { - PADDLE_ENFORCE_EQ( - op_desc.Input(op_name).size(), - 1UL, - phi::errors::InvalidArgument("The input of ReshapeGrad op must be 1.")); + PADDLE_ENFORCE_EQ(op_desc.Input(op_name).size(), + 1UL, + phi::errors::InvalidArgument( + "The input of ReshapeGrad op must be 1."))`; auto var_name = op_desc.Input(op_name).front(); return ctx.GetVar(var_name); }; auto get_output_name = [&op_desc](const std::string& op_name) { - CHECK_EQ(op_desc.Output(op_name).size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Output(op_name).size(), + 1UL, + phi::errors::InvalidArgument( + "The output of ReshapeGrad op must be 1.")); return op_desc.Output(op_name).front(); }; @@ -76,7 +79,10 @@ void ReshapeGradOpMapper(const paddle::cpp::OpDesc& op_desc, void Reshape2OpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Reshape2 op must be 1.")); auto x_name = op_desc.Input("X").front(); auto x = ctx.GetVar(x_name); @@ -87,7 +93,10 @@ void Reshape2OpMapper(const paddle::cpp::OpDesc& op_desc, auto out = ctx.Builder()->Reshape(x, shape); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Reshape2 op must be 1.")); auto out_name = op_desc.Output("Out").front(); ctx.AddVar(out_name, out); ctx.AddVarModelToProgram(out_name, out->id); @@ -98,7 +107,10 @@ void Reshape2OpMapper(const paddle::cpp::OpDesc& op_desc, // will be used in Reshape_grad, in this way, the framework can reuse // the memory of X immediately the Reshape2_op is finished. // Considering compatibility issues, we could not fix Reshape2_op - CHECK_EQ(op_desc.Output("XShape").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("XShape").size(), + 1UL, + phi::errors::InvalidArgument("The output of Reshape2 op must be 1.")); auto xshape_name = op_desc.Output("XShape").front(); auto xshape = ctx.Builder()->Identity(x); @@ -111,13 +123,19 @@ void Reshape2OpMapper(const paddle::cpp::OpDesc& op_desc, void Reshape2GradOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { auto get_input_var = [&op_desc, &ctx](const std::string& op_name) { - CHECK_EQ(op_desc.Input(op_name).size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Input(op_name).size(), + 1UL, + phi::errors::InvalidArgument( + "The input of Reshape2Grad op must be 1.")); auto var_name = op_desc.Input(op_name).front(); return ctx.GetVar(var_name); }; auto get_output_name = [&op_desc](const std::string& op_name) { - CHECK_EQ(op_desc.Output(op_name).size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Output(op_name).size(), + 1UL, + phi::errors::InvalidArgument( + "The output of Reshape2Grad op must be 1.")); return op_desc.Output(op_name).front(); }; diff --git a/paddle/cinn/frontend/op_mappers/paddle/reverse.cc b/paddle/cinn/frontend/op_mappers/paddle/reverse.cc index 17418263ae0c50..883040fd101fc6 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/reverse.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/reverse.cc @@ -14,16 +14,22 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void ReverseOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Reverse op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Reverse op must be 1.")); auto out_name = op_desc.Output("Out").front(); auto axes = utils::GetAttrOrDefault>( diff --git a/paddle/cinn/frontend/op_mappers/paddle/roll.cc b/paddle/cinn/frontend/op_mappers/paddle/roll.cc index 9b268c28568883..5c62250c41c8ac 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/roll.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/roll.cc @@ -15,7 +15,7 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" #include "paddle/cinn/frontend/var_type_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { @@ -23,15 +23,27 @@ namespace paddle_mappers { void RollOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { // input - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Roll op must be 1.")); auto x_name = op_desc.Input("X").front(); // output - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Roll op must be 1.")); auto out_name = op_desc.Output("Out").front(); // attr shifts and axis - CHECK(op_desc.HasAttr("shifts")); - CHECK(op_desc.HasAttr("axis")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("shifts"), + true, + phi::errors::InvalidArgument("Roll op must have shifts attribute")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("axis"), + true, + phi::errors::InvalidArgument("Roll op must have axis attribute")); std::vector shifts = utils::ToShapeType( utils::GetAttrOrDefault>(op_desc, "shifts", {1})); std::vector axis = utils::ToShapeType( @@ -44,8 +56,11 @@ void RollOpMapper(const paddle::cpp::OpDesc& op_desc, // check axis and shifts and when axis is None, we should flatten x. bool axis_None = false; if (axis.size() == 0) { - CHECK_EQ(shifts.size(), 1) - << "shifts.size() should be equal to 1 when axis is None"; + PADDLE_ENFORCE_EQ( + shifts.size(), + 1UL, + phi::errors::InvalidArgument( + "shifts.size() should be equal to 1 when axis is None")); axis.push_back(0); axis_None = true; int reshape_num = 1; @@ -55,8 +70,10 @@ void RollOpMapper(const paddle::cpp::OpDesc& op_desc, vec_x_dims = std::vector{reshape_num}; x = ctx.Builder()->Reshape(x, vec_x_dims); } else { - CHECK_EQ(shifts.size(), axis.size()) - << "shifts.size() should be equal to axis.size()"; + PADDLE_ENFORCE_EQ(shifts.size(), + axis.size(), + phi::errors::InvalidArgument( + "shifts.size() should be equal to axis.size()")); } // preprocessing the shifts and axis @@ -64,10 +81,15 @@ void RollOpMapper(const paddle::cpp::OpDesc& op_desc, std::unordered_map axis_to_shifts; for (int i = 0; i < shifts_size; ++i) { int vec_x_dims_size = vec_x_dims.size(); - CHECK_GE(axis[i], -vec_x_dims_size) - << "axis value should be >= " << -vec_x_dims_size; - CHECK_LT(axis[i], vec_x_dims_size) - << "axis value should be < " << vec_x_dims_size; + PADDLE_ENFORCE_GE(axis[i], + -vec_x_dims_size, + phi::errors::InvalidArgument( + "axis value should be >= -vec_x_dims_size")); + PADDLE_ENFORCE_LT( + axis[i], + vec_x_dims_size, + phi::errors::InvalidArgument("axis value should be < vec_x_dims_size")); + << "axis value should be < " << vec_x_dims_size; if (axis[i] < 0) { axis[i] += vec_x_dims_size; } diff --git a/paddle/cinn/frontend/op_mappers/paddle/scale.cc b/paddle/cinn/frontend/op_mappers/paddle/scale.cc index 639af845edefed..06483956e6d977 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/scale.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/scale.cc @@ -17,16 +17,22 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" #include "paddle/cinn/utils/string.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void ScaleOpMapper(const paddle::cpp::OpDesc& op_desc, const cinn::frontend::OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Scale op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Scale op must be 1.")); auto out_name = op_desc.Output("Out").front(); auto bias = utils::GetAttrOrDefault(op_desc, "bias", 0.0f); @@ -38,7 +44,10 @@ void ScaleOpMapper(const paddle::cpp::OpDesc& op_desc, absl::optional out; if (op_desc.HasInput("ScaleTensor") && !op_desc.Input("ScaleTensor").empty()) { - CHECK_EQ(op_desc.Input("ScaleTensor").size(), 1); + PADDLE_ENFORCE_EQ( + op_desc.Input("ScaleTensor").size(), + 1UL, + phi::errors::InvalidArgument("The input of ScaleTensor must be 1.")); auto scale_name = op_desc.Input("ScaleTensor").front(); auto scale_tensor = ctx.GetVar(scale_name); diff --git a/paddle/cinn/frontend/op_mappers/paddle/scatter.cc b/paddle/cinn/frontend/op_mappers/paddle/scatter.cc index 8be9b563b4cd1e..e8bdbb3a1bd5cf 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/scatter.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/scatter.cc @@ -15,20 +15,32 @@ #include "paddle/cinn/common/type.h" #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void ScatterOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Scatter op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Input("Ids").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("Ids").size(), + 1UL, + phi::errors::InvalidArgument("The input of Scatter op must be 1.")); auto ids_name = op_desc.Input("Ids").front(); - CHECK_EQ(op_desc.Input("Updates").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("Updates").size(), + 1UL, + phi::errors::InvalidArgument("The input of Scatter op must be 1.")); auto updates_name = op_desc.Input("Updates").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Scatter op must be 1.")); auto out_name = op_desc.Output("Out").front(); bool overwrite = utils::GetAttrOrDefault(op_desc, "overwrite", true); @@ -38,8 +50,10 @@ void ScatterOpMapper(const paddle::cpp::OpDesc& op_desc, const auto& input = ctx.GetVar(x_name); auto indices = ctx.GetVar(ids_name); const auto& updates = ctx.GetVar(updates_name); - CHECK(input->type == updates->type) - << "checks whether the type of the input and the updates are the same."; + PADDLE_ENFORCE_EQ(input->type == updates->type, + true, + phi::errors::InvalidArgument( + "The type of input and updates should be the same.")); CHECK(indices->type == cinn::common::Int(32) || indices->type == cinn::common::Int(64)) << "checks whether the data type of the indices is either int32 or int64"; @@ -47,7 +61,10 @@ void ScatterOpMapper(const paddle::cpp::OpDesc& op_desc, indices = ctx.Builder()->Cast( indices, cinn::common::Type2Str(cinn::common::Int(32))); } - CHECK_LE(indices->shape.size(), 2) << "Ids should be 0, 1 or 2 in scatter_op"; + PADDLE_ENFORCE_LE(indices->shape.size(), + 2UL, + phi::errors::InvalidArgument( + "The rank of indices should be less than 2.")); if (indices->shape.size() == 0) { indices = ctx.Builder()->Reshape(indices, {1}); } diff --git a/paddle/cinn/frontend/op_mappers/paddle/slice.cc b/paddle/cinn/frontend/op_mappers/paddle/slice.cc index 6b62ec72410e66..6e5b3cac8c7225 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/slice.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/slice.cc @@ -14,23 +14,38 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void SliceOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("Input").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("Input").size(), + 1UL, + phi::errors::InvalidArgument("The input of Slice op must be 1.")); auto x_name = op_desc.Input("Input").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Slice op must be 1.")); auto out_name = op_desc.Output("Out").front(); - CHECK(op_desc.HasAttr("starts")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("starts"), + true, + phi::errors::InvalidArgument("Slice op must have starts attribute")); auto starts = utils::GetAttrOrDefault>(op_desc, "starts"); - CHECK(op_desc.HasAttr("ends")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("ends"), + true, + phi::errors::InvalidArgument("Slice op must have ends attribute")); auto ends = utils::GetAttrOrDefault>(op_desc, "ends"); - CHECK(op_desc.HasAttr("axes")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("axes"), + true, + phi::errors::InvalidArgument("Slice op must have axes attribute")); auto axes = utils::GetAttrOrDefault>(op_desc, "axes"); auto infer_flags = diff --git a/paddle/cinn/frontend/op_mappers/paddle/softmax.cc b/paddle/cinn/frontend/op_mappers/paddle/softmax.cc index 654c21c56c0b4b..2e1959f8a1aa50 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/softmax.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/softmax.cc @@ -14,16 +14,22 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void SoftmaxOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Softmax op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Softmax op must be 1.")); auto out_name = op_desc.Output("Out").front(); auto axis = utils::GetAttrOrDefault(op_desc, "axis", -1); diff --git a/paddle/cinn/frontend/op_mappers/paddle/squeeze.cc b/paddle/cinn/frontend/op_mappers/paddle/squeeze.cc index ee7606675bad46..732488ffee224c 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/squeeze.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/squeeze.cc @@ -14,14 +14,17 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void Squeeze2OpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Squeeze2 op must be 1.")); auto x_name = op_desc.Input("X").front(); auto x = ctx.GetVar(x_name); @@ -32,7 +35,10 @@ void Squeeze2OpMapper(const paddle::cpp::OpDesc& op_desc, auto out = ctx.Builder()->Squeeze(x, axes); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Squeeze2 op must be 1.")); auto out_name = op_desc.Output("Out").front(); ctx.AddVar(out_name, out); ctx.AddVarModelToProgram(out_name, out->id); @@ -43,7 +49,10 @@ void Squeeze2OpMapper(const paddle::cpp::OpDesc& op_desc, // squeeze_grad, in this way, the framework can reuse the memory of X // immediately the squeeze2_op is finished. // Considering compatibility issues, we could not fix squeeze2_op - CHECK_EQ(op_desc.Output("XShape").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("XShape").size(), + 1UL, + phi::errors::InvalidArgument("The output of Squeeze2 op must be 1.")); auto xshape_name = op_desc.Output("XShape").front(); auto xshape = ctx.Builder()->Identity(x); diff --git a/paddle/cinn/frontend/op_mappers/paddle/strided_slice.cc b/paddle/cinn/frontend/op_mappers/paddle/strided_slice.cc index 8a0a5765de5552..befd29bebe4785 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/strided_slice.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/strided_slice.cc @@ -15,31 +15,52 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" #include "paddle/cinn/frontend/var_type_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void StridedSliceOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("Input").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("Input").size(), + 1UL, + phi::errors::InvalidArgument("The input of StridedSlice op must be 1.")); auto x_name = op_desc.Input("Input").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of StridedSlice op must be 1.")); auto out_name = op_desc.Output("Out").front(); - CHECK(op_desc.HasAttr("starts")); + PADDLE_ENFORCE_EQ(op_desc.HasAttr("starts"), + true, + phi::errors::InvalidArgument( + "StridedSlice op must have starts attribute")); auto starts = utils::ToShapeType( utils::GetAttrOrDefault>(op_desc, "starts")); - CHECK(op_desc.HasAttr("ends")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("ends"), + true, + phi::errors::InvalidArgument("StridedSlice op must have ends attribute")); auto ends = utils::ToShapeType( utils::GetAttrOrDefault>(op_desc, "ends")); - CHECK(op_desc.HasAttr("axes")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("axes"), + true, + phi::errors::InvalidArgument("StridedSlice op must have axes attribute")); auto axes = utils::ToShapeType( utils::GetAttrOrDefault>(op_desc, "axes")); - CHECK(op_desc.HasAttr("strides")); + PADDLE_ENFORCE_EQ(op_desc.HasAttr("strides"), + true, + phi::errors::InvalidArgument( + "StridedSlice op must have strides attribute")); auto strides = utils::ToShapeType( utils::GetAttrOrDefault>(op_desc, "strides")); - CHECK(op_desc.HasAttr("infer_flags")); + PADDLE_ENFORCE_EQ(op_desc.HasAttr("infer_flags"), + true, + phi::errors::InvalidArgument( + "StridedSlice op must have infer_flags attribute")); auto infer_flags = utils::ToShapeType( utils::GetAttrOrDefault>(op_desc, "infer_flags")); auto decrease_axis = utils::ToShapeType( diff --git a/paddle/cinn/frontend/op_mappers/paddle/take_along_axis.cc b/paddle/cinn/frontend/op_mappers/paddle/take_along_axis.cc index deec9a0ee9c41b..5d91cd2d457004 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/take_along_axis.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/take_along_axis.cc @@ -15,17 +15,23 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" #include "paddle/cinn/frontend/syntax.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void TakeAlongAxis2OpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("Input").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("Input").size(), + 1UL, + phi::errors::InvalidArgument("The input of TakeAlongAxis op must be 1.")); auto x_name = op_desc.Input("Input").front(); auto x = ctx.GetVar(x_name); - CHECK_EQ(op_desc.Input("Index").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("Index").size(), + 1UL, + phi::errors::InvalidArgument("The input of TakeAlongAxis op must be 1.")); auto index_name = op_desc.Input("Index").front(); auto index = ctx.GetVar(index_name); @@ -37,7 +43,10 @@ void TakeAlongAxis2OpMapper(const paddle::cpp::OpDesc& op_desc, auto out = ctx.Builder()->Gather(x, index, axis); - CHECK_EQ(op_desc.Output("Result").size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Output("Result").size(), + 1UL, + phi::errors::InvalidArgument( + "The output of TakeAlongAxis op must be 1.")); auto out_name = op_desc.Output("Result").front(); ctx.AddVar(out_name, out); ctx.AddVarModelToProgram(out_name, out->id); diff --git a/paddle/cinn/frontend/op_mappers/paddle/tile.cc b/paddle/cinn/frontend/op_mappers/paddle/tile.cc index 3ce331dc4a209e..5d8b0afd5658c7 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/tile.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/tile.cc @@ -15,7 +15,7 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" #include "paddle/cinn/frontend/var_type_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { @@ -23,10 +23,16 @@ namespace paddle_mappers { void TileOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { // input - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Tile op must be 1.")); auto x_name = op_desc.Input("X").front(); // output - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Tile op must be 1.")); auto out_name = op_desc.Output("Out").front(); // attr repeat_times @@ -34,7 +40,10 @@ void TileOpMapper(const paddle::cpp::OpDesc& op_desc, op_desc.GetAttr>("repeat_times"); for (auto i : repeat_times) { - CHECK_GT(i, 0) << "repeat_times's element must be greater than 0"; + PADDLE_ENFORCE_GT(i, + 0, + phi::errors::InvalidArgument( + "repeat_times's element must be greater than 0")); } auto x = ctx.GetVar(x_name); @@ -49,9 +58,12 @@ void TileOpMapper(const paddle::cpp::OpDesc& op_desc, vec_x_dims.insert(vec_x_dims.begin(), diff, 1); } - CHECK_EQ(vec_x_dims.size(), repeat_times.size()) - << "vec_x_dims's size must be equal to repeat_times's size after " - "promotion"; + PADDLE_ENFORCE_EQ( + vec_x_dims.size(), + repeat_times.size(), + phi::errors::InvalidArgument( + "vec_x_dims's size must be equal to repeat_times's size " + "after promotion")); // output's shape std::vector output_shape = vec_x_dims; diff --git a/paddle/cinn/frontend/op_mappers/paddle/top_k.cc b/paddle/cinn/frontend/op_mappers/paddle/top_k.cc index 07ab1c12b8802e..dfe869cbf21bf4 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/top_k.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/top_k.cc @@ -14,22 +14,34 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void TopKOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of TopK op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of TopK op must be 1.")); auto out_name = op_desc.Output("Out").front(); - CHECK_EQ(op_desc.Output("Indices").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Indices").size(), + 1UL, + phi::errors::InvalidArgument("The output of TopK op must be 1.")); auto indices_name = op_desc.Output("Indices").front(); auto x = ctx.GetVar(x_name); - CHECK(op_desc.HasAttr("k")); + PADDLE_ENFORCE_EQ( + op_desc.HasAttr("k"), + true, + phi::errors::InvalidArgument("TopK op must have k attribute")); auto k = utils::GetAttrOrDefault(op_desc, "k"); auto outs = ctx.Builder()->TopK(x, k, -1, true); diff --git a/paddle/cinn/frontend/op_mappers/paddle/transpose.cc b/paddle/cinn/frontend/op_mappers/paddle/transpose.cc index e835a930ad6415..09102427edcc2a 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/transpose.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/transpose.cc @@ -15,14 +15,17 @@ #include "paddle/cinn/backends/cuda_util.h" #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void TransposeOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Transpose op must be 1.")); auto x_name = op_desc.Input("X").front(); auto x = ctx.GetVar(x_name); @@ -33,7 +36,10 @@ void TransposeOpMapper(const paddle::cpp::OpDesc& op_desc, auto out = ctx.Builder()->Transpose(x, axis); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Transpose op must be 1.")); auto out_name = op_desc.Output("Out").front(); ctx.AddVar(out_name, out); ctx.AddVarModelToProgram(out_name, out->id); @@ -41,7 +47,10 @@ void TransposeOpMapper(const paddle::cpp::OpDesc& op_desc, void Transpose2OpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of Transpose2 op must be 1.")); auto x_name = op_desc.Input("X").front(); auto x = ctx.GetVar(x_name); @@ -52,7 +61,10 @@ void Transpose2OpMapper(const paddle::cpp::OpDesc& op_desc, auto out = ctx.Builder()->Transpose(x, axis); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of Transpose2 op must be 1.")); auto out_name = op_desc.Output("Out").front(); ctx.AddVar(out_name, out); ctx.AddVarModelToProgram(out_name, out->id); @@ -63,7 +75,10 @@ void Transpose2OpMapper(const paddle::cpp::OpDesc& op_desc, // will be used in transpose_grad, in this way, the framework can reuse // the memory of X immediately the transpose2_op is finished. // Considering compatibility issues, we could not fix transpose2_op - CHECK_EQ(op_desc.Output("XShape").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("XShape").size(), + 1UL, + phi::errors::InvalidArgument("The output of Transpose2 op must be 1.")); auto xshape_name = op_desc.Output("XShape").front(); auto xshape = ctx.Builder()->Identity(x); diff --git a/paddle/cinn/frontend/op_mappers/paddle/triangular_solve.cc b/paddle/cinn/frontend/op_mappers/paddle/triangular_solve.cc index 756a335d604dc8..c4c62955c3de44 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/triangular_solve.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/triangular_solve.cc @@ -14,18 +14,27 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void TriangularSolveOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument( + "The input of TriangularSolve op must be 1.")); auto x_name = op_desc.Input("X").front(); - CHECK_EQ(op_desc.Input("Y").size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Input("Y").size(), + 1UL, + phi::errors::InvalidArgument( + "The input of TriangularSolve op must be 1.")); auto y_name = op_desc.Input("Y").front(); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument( + "The output of TriangularSolve op must be 1.")); auto out_name = op_desc.Output("Out").front(); constexpr bool left_side = true; diff --git a/paddle/cinn/frontend/op_mappers/paddle/unary.cc b/paddle/cinn/frontend/op_mappers/paddle/unary.cc index 575b2d04eb1880..c9d2b97922ac61 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/unary.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/unary.cc @@ -14,7 +14,7 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { @@ -22,9 +22,15 @@ namespace paddle_mappers { #define UNARY_OPMAPPER_FUNCTION(OP_NAME) \ void OP_NAME##OpMapper(const paddle::cpp::OpDesc& op_desc, \ const OpMapperContext& ctx) { \ - CHECK_EQ(op_desc.Input("X").size(), 1UL); \ + PADDLE_ENFORCE_EQ(op_desc.Input("X").size(), \ + 1UL, \ + phi::errors::InvalidArgument("The input of x" \ + " op must be 1.")); \ auto x_name = op_desc.Input("X").front(); \ - CHECK_EQ(op_desc.Output("Out").size(), 1UL); \ + PADDLE_ENFORCE_EQ(op_desc.Output("Out").size(), \ + 1UL, \ + phi::errors::InvalidArgument("The output of x" \ + " op must be 1.")); \ auto out_name = op_desc.Output("Out").front(); \ auto x = ctx.GetVar(x_name); \ VLOG(4) << #OP_NAME << " X:" << x_name << "[" \ diff --git a/paddle/cinn/frontend/op_mappers/paddle/uniform_random.cc b/paddle/cinn/frontend/op_mappers/paddle/uniform_random.cc index c477072c9877f8..c5a5b69c1fe661 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/uniform_random.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/uniform_random.cc @@ -15,14 +15,17 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" #include "paddle/cinn/frontend/var_type_utils.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void UniformRandomOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ(op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument( + "The output of uniform_random op must be 1.")); auto out_name = op_desc.Output("Out").front(); auto shape_origin = diff --git a/paddle/cinn/frontend/op_mappers/paddle/unsqueeze.cc b/paddle/cinn/frontend/op_mappers/paddle/unsqueeze.cc index 80ad42c3dd3cd1..c7175df8d63a1a 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/unsqueeze.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/unsqueeze.cc @@ -15,14 +15,17 @@ #include "paddle/cinn/frontend/op_mapper_registry.h" #include "paddle/cinn/frontend/op_mappers/common_utils.h" #include "paddle/cinn/frontend/syntax.h" - +#include "paddle/common/enforce.h" namespace cinn { namespace frontend { namespace paddle_mappers { void UnSqueeze2OpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { - CHECK_EQ(op_desc.Input("X").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Input("X").size(), + 1UL, + phi::errors::InvalidArgument("The input of UnSqueeze2 op must be 1.")); auto x_name = op_desc.Input("X").front(); auto x = ctx.GetVar(x_name); @@ -33,7 +36,10 @@ void UnSqueeze2OpMapper(const paddle::cpp::OpDesc& op_desc, const auto& out = ctx.Builder()->ExpandDims(x, axes); - CHECK_EQ(op_desc.Output("Out").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("Out").size(), + 1UL, + phi::errors::InvalidArgument("The output of UnSqueeze2 op must be 1.")); auto out_name = op_desc.Output("Out").front(); ctx.AddVar(out_name, out); ctx.AddVarModelToProgram(out_name, out->id); @@ -44,7 +50,10 @@ void UnSqueeze2OpMapper(const paddle::cpp::OpDesc& op_desc, // squeeze_grad, in this way, the framework can reuse the memory of X // immediately the squeeze2_op is finished. // Considering compatibility issues, we could not fix squeeze2_op - CHECK_EQ(op_desc.Output("XShape").size(), 1UL); + PADDLE_ENFORCE_EQ( + op_desc.Output("XShape").size(), + 1UL, + phi::errors::InvalidArgument("The output of UnSqueeze2 op must be 1.")); auto xshape_name = op_desc.Output("XShape").front(); auto xshape = ctx.Builder()->Identity(x); From 7d136b33603606f76fd98a395cbe656774f5149f Mon Sep 17 00:00:00 2001 From: enkilee Date: Fri, 17 May 2024 17:21:34 +0800 Subject: [PATCH 3/5] fix --- paddle/cinn/frontend/op_mappers/paddle/unary.cc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/paddle/cinn/frontend/op_mappers/paddle/unary.cc b/paddle/cinn/frontend/op_mappers/paddle/unary.cc index c9d2b97922ac61..b13f548cac29c1 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/unary.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/unary.cc @@ -22,15 +22,15 @@ namespace paddle_mappers { #define UNARY_OPMAPPER_FUNCTION(OP_NAME) \ void OP_NAME##OpMapper(const paddle::cpp::OpDesc& op_desc, \ const OpMapperContext& ctx) { \ - PADDLE_ENFORCE_EQ(op_desc.Input("X").size(), \ - 1UL, \ - phi::errors::InvalidArgument("The input of x" \ - " op must be 1.")); \ + PADDLE_ENFORCE_EQ( \ + op_desc.Input("X").size(), \ + 1UL, \ + phi::errors::InvalidArgument("The input of x op must be 1.")); \ auto x_name = op_desc.Input("X").front(); \ - PADDLE_ENFORCE_EQ(op_desc.Output("Out").size(), \ - 1UL, \ - phi::errors::InvalidArgument("The output of x" \ - " op must be 1.")); \ + PADDLE_ENFORCE_EQ( \ + op_desc.Output("Out").size(), \ + 1UL, \ + phi::errors::InvalidArgument("The output of x op must be 1.")); \ auto out_name = op_desc.Output("Out").front(); \ auto x = ctx.GetVar(x_name); \ VLOG(4) << #OP_NAME << " X:" << x_name << "[" \ From 708fd8d53650cc1bcbe05ada3a322962067a5d58 Mon Sep 17 00:00:00 2001 From: enkilee Date: Mon, 20 May 2024 09:03:19 +0800 Subject: [PATCH 4/5] fix --- paddle/cinn/frontend/op_mappers/paddle/reshape.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/paddle/cinn/frontend/op_mappers/paddle/reshape.cc b/paddle/cinn/frontend/op_mappers/paddle/reshape.cc index 3cce86ac6dcbda..cd77944b3d7f1e 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/reshape.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/reshape.cc @@ -48,10 +48,10 @@ void ReshapeOpMapper(const paddle::cpp::OpDesc& op_desc, void ReshapeGradOpMapper(const paddle::cpp::OpDesc& op_desc, const OpMapperContext& ctx) { auto get_input_var = [&op_desc, &ctx](const std::string& op_name) { - PADDLE_ENFORCE_EQ(op_desc.Input(op_name).size(), - 1UL, - phi::errors::InvalidArgument( - "The input of ReshapeGrad op must be 1."))`; + PADDLE_ENFORCE_EQ( + op_desc.Input(op_name).size(), + 1UL, + phi::errors::InvalidArgument("The input of ReshapeGrad op must be 1.")); auto var_name = op_desc.Input(op_name).front(); return ctx.GetVar(var_name); }; From 515f1637c328e5e52e66c90a7998877ae6b0fa02 Mon Sep 17 00:00:00 2001 From: enkilee Date: Mon, 20 May 2024 16:39:44 +0800 Subject: [PATCH 5/5] fix --- paddle/cinn/frontend/op_mappers/paddle/roll.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/paddle/cinn/frontend/op_mappers/paddle/roll.cc b/paddle/cinn/frontend/op_mappers/paddle/roll.cc index 5c62250c41c8ac..918ffe67e15cd5 100644 --- a/paddle/cinn/frontend/op_mappers/paddle/roll.cc +++ b/paddle/cinn/frontend/op_mappers/paddle/roll.cc @@ -89,7 +89,6 @@ void RollOpMapper(const paddle::cpp::OpDesc& op_desc, axis[i], vec_x_dims_size, phi::errors::InvalidArgument("axis value should be < vec_x_dims_size")); - << "axis value should be < " << vec_x_dims_size; if (axis[i] < 0) { axis[i] += vec_x_dims_size; }