From 87916f8d84626102f302e0dc43b04509cf960fba Mon Sep 17 00:00:00 2001 From: phlrain Date: Mon, 15 Apr 2019 13:35:13 +0000 Subject: [PATCH] simple code;test=develop --- paddle/fluid/operators/huber_loss_op.cc | 13 ++----------- paddle/fluid/operators/minus_op.cc | 9 ++------- paddle/fluid/operators/modified_huber_loss_op.cc | 13 ++----------- 3 files changed, 6 insertions(+), 29 deletions(-) diff --git a/paddle/fluid/operators/huber_loss_op.cc b/paddle/fluid/operators/huber_loss_op.cc index dd2ce85545..157f13ffbc 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 91608ebf8a..02a90d77b6 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 83c6cba42b..14d75aee75 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()) { -- GitLab