|
|
@ -173,13 +173,13 @@ class ReorderLodTensorByRankGradOpMaker
|
|
|
|
using framework::SingleGradOpDescMaker::SingleGradOpDescMaker;
|
|
|
|
using framework::SingleGradOpDescMaker::SingleGradOpDescMaker;
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
protected:
|
|
|
|
std::unique_ptr<framework::OpDescBind> Apply() const override {
|
|
|
|
std::unique_ptr<framework::OpDesc> Apply() const override {
|
|
|
|
auto *grad_op = new framework::OpDescBind();
|
|
|
|
auto *grad_op = new framework::OpDesc();
|
|
|
|
grad_op->SetType("reorder_lod_tensor_by_rank_grad");
|
|
|
|
grad_op->SetType("reorder_lod_tensor_by_rank_grad");
|
|
|
|
grad_op->SetInput("X", OutputGrad("Out"));
|
|
|
|
grad_op->SetInput("X", OutputGrad("Out"));
|
|
|
|
grad_op->SetOutput("Out", InputGrad("X"));
|
|
|
|
grad_op->SetOutput("Out", InputGrad("X"));
|
|
|
|
grad_op->SetInput("RankTable", Input("RankTable"));
|
|
|
|
grad_op->SetInput("RankTable", Input("RankTable"));
|
|
|
|
return std::unique_ptr<framework::OpDescBind>(grad_op);
|
|
|
|
return std::unique_ptr<framework::OpDesc>(grad_op);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|