diff --git a/paddle/fluid/operators/huber_loss_op.cc b/paddle/fluid/operators/huber_loss_op.cc index dd2ce85545703b17574ae24608645e72ec76e10d..157f13ffbc3d52180fac0efac07dd23112d692e7 100644 --- a/paddle/fluid/operators/huber_loss_op.cc +++ b/paddle/fluid/operators/huber_loss_op.cc @@ -34,18 +34,9 @@ class HuberLossOp : public framework::OperatorWithKernel { PADDLE_ENFORCE_EQ(x_dims.size(), 2, "The rank of Input(X) must be 2 and the shape is " "[batch_size, 1]."); - if (ctx->IsRuntime()) { + if (ctx->IsRuntime() || + (framework::product(x_dims) > 0 && framework::product(y_dims) > 0)) { PADDLE_ENFORCE_EQ(x_dims, y_dims, "Shape of X and Y should be same"); - } else { - if (x_dims[0] != -1 && y_dims[0] != -1) { - PADDLE_ENFORCE_EQ(x_dims[0], y_dims[0], - "The dim 0 of X and Y must be the same."); - } - - if (x_dims[1] != -1 && y_dims[1] != -1) { - PADDLE_ENFORCE_EQ(x_dims[1], y_dims[1], - "The dim 1 of X and Y must be the same."); - } } if (ctx->IsRuntime()) { PADDLE_ENFORCE_EQ(x_dims[1], 1, diff --git a/paddle/fluid/operators/minus_op.cc b/paddle/fluid/operators/minus_op.cc index 91608ebf8a94839567ca6252f1bd7d2d8db74883..02a90d77b6e54475f4e722266d0a3b2046ea33ed 100644 --- a/paddle/fluid/operators/minus_op.cc +++ b/paddle/fluid/operators/minus_op.cc @@ -39,16 +39,11 @@ class MinusOp : public framework::OperatorWithKernel { auto x_dims = ctx->GetInputDim("X"); auto y_dims = ctx->GetInputDim("Y"); - if (ctx->IsRuntime()) { + if (ctx->IsRuntime() || + (framework::product(x_dims) > 0 && framework::product(y_dims) > 0)) { PADDLE_ENFORCE_EQ( x_dims, y_dims, "Minus operator must take two tensor with same num of elements"); - } else { - if (framework::product(x_dims) > 0 && framework::product(y_dims) > 0) { - PADDLE_ENFORCE_EQ( - x_dims, y_dims, - "Minus operator must take two tensor with same num of elements"); - } } ctx->SetOutputDim("Out", x_dims); ctx->ShareLoD("X", /*->*/ "Out"); diff --git a/paddle/fluid/operators/modified_huber_loss_op.cc b/paddle/fluid/operators/modified_huber_loss_op.cc index 83c6cba42bca04ed947fd112f4011fc08094194b..14d75aee754bc3d5b951a4f53a34ea8661c08cca 100644 --- a/paddle/fluid/operators/modified_huber_loss_op.cc +++ b/paddle/fluid/operators/modified_huber_loss_op.cc @@ -29,19 +29,10 @@ class ModifiedHuberLossOp : public framework::OperatorWithKernel { auto y_dims = ctx->GetInputDim("Y"); PADDLE_ENFORCE_EQ(x_dims.size(), 2, "The tensor rank of X must be 2."); - if (ctx->IsRuntime()) { + if (ctx->IsRuntime() || + (framework::product(x_dims) > 0 && framework::product(y_dims) > 0)) { PADDLE_ENFORCE_EQ(x_dims, y_dims, "The shape of X and Y must be the same."); - } else { - if (x_dims[0] != -1 && y_dims[0] != -1) { - PADDLE_ENFORCE_EQ(x_dims[0], y_dims[0], - "The dim 0 of X and Y must be the same."); - } - - if (x_dims[1] != -1 && y_dims[1] != -1) { - PADDLE_ENFORCE_EQ(x_dims[1], y_dims[1], - "The dim 1 of X and Y must be the same."); - } } if (ctx->IsRuntime()) {