Skip to content

Commit

Permalink
Removed InplaceInferer and polished code
Browse files Browse the repository at this point in the history
  • Loading branch information
veyron95 committed Nov 12, 2021
1 parent c653990 commit c548d04
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 12 deletions.
13 changes: 6 additions & 7 deletions paddle/fluid/operators/elementwise/elementwise_mul_op.cc
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,11 @@ class ElementwiseMulTripleGradMaker : public framework::SingleGradOpMaker<T> {
op->SetAttrMap(this->Attrs());

// set outputs
op->SetOutput("D_X_out", this->InputGrad("X"));
op->SetOutput("D_Y_out", this->InputGrad("Y"));
op->SetOutput("D_DOut_out", this->InputGrad("DOut"));
op->SetOutput("D_DDX_out", this->InputGrad("DDX"));
op->SetOutput("D_DDY_out", this->InputGrad("DDY"));
op->SetOutput("D_X", this->InputGrad("X"));
op->SetOutput("D_Y", this->InputGrad("Y"));
op->SetOutput("D_DOut", this->InputGrad("DOut"));
op->SetOutput("D_DDX", this->InputGrad("DDX"));
op->SetOutput("D_DDY", this->InputGrad("DDY"));
}
};

Expand All @@ -158,8 +158,7 @@ REGISTER_OPERATOR(
ops::ElementwiseMulTripleGradMaker<paddle::framework::OpDesc>,
ops::ElementwiseMulTripleGradMaker<paddle::imperative::OpBase>);

REGISTER_OPERATOR(elementwise_mul_triple_grad, ops::ElementwiseOpTripleGrad,
ops::ElementwiseTripleGradOpInplaceInferer);
REGISTER_OPERATOR(elementwise_mul_triple_grad, ops::ElementwiseOpTripleGrad);

REGISTER_OP_CPU_KERNEL(
elementwise_mul,
Expand Down
10 changes: 5 additions & 5 deletions paddle/fluid/operators/elementwise/elementwise_mul_op.h
Original file line number Diff line number Diff line change
Expand Up @@ -300,12 +300,12 @@ class ElementwiseMulTripleGradKernel : public framework::OpKernel<T> {
auto* d_ddout = ctx.Input<framework::Tensor>("D_DDOut");

// get output
auto* out_d_x = ctx.Output<framework::Tensor>("D_X_out");
auto* out_d_y = ctx.Output<framework::Tensor>("D_Y_out");
auto* out_d_dout = ctx.Output<framework::Tensor>("D_DOut_out");
auto* out_d_x = ctx.Output<framework::Tensor>("D_X");
auto* out_d_y = ctx.Output<framework::Tensor>("D_Y");
auto* out_d_dout = ctx.Output<framework::Tensor>("D_DOut");

auto* out_d_ddx = ctx.Output<framework::Tensor>("D_DDX_out");
auto* out_d_ddy = ctx.Output<framework::Tensor>("D_DDY_out");
auto* out_d_ddx = ctx.Output<framework::Tensor>("D_DDX");
auto* out_d_ddy = ctx.Output<framework::Tensor>("D_DDY");

if (out_d_x) out_d_x->mutable_data<T>(x->dims(), ctx.GetPlace());
if (out_d_y) out_d_y->mutable_data<T>(y->dims(), ctx.GetPlace());
Expand Down

1 comment on commit c548d04

@paddle-bot-old
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulation! Your pull request passed all required CI. You could ask reviewer(s) to approve and merge. 🎉

Please sign in to comment.