|
|
|
@ -150,19 +150,20 @@ class AddOpMaker : public OpProtoAndCheckerMaker {
|
|
|
|
|
namespace f = paddle::framework;
|
|
|
|
|
namespace ops = paddle::operators;
|
|
|
|
|
using EnforceNotMet = paddle::platform::EnforceNotMet;
|
|
|
|
|
REGISTER_OP(rowwise_add, f::EmptyOp, f::RowWiseAddOpMaker);
|
|
|
|
|
REGISTER_GRADIENT_OP(rowwise_add, rowwise_add_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP(mul, f::EmptyOp, f::MulOpMaker);
|
|
|
|
|
REGISTER_GRADIENT_OP(mul, mul_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP(sigmoid, f::EmptyOp, f::SigmoidOpMaker);
|
|
|
|
|
REGISTER_GRADIENT_OP(sigmoid, sigmoid_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP(nograd, f::EmptyOp, f::NoGradOpMaker);
|
|
|
|
|
REGISTER_OP(fill_zeros_like, f::EmptyOp, f::FillZeroOpMaker);
|
|
|
|
|
REGISTER_OP(add, f::EmptyOp, f::AddOpMaker);
|
|
|
|
|
REGISTER_GRADIENT_OP(add, add_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP(fc, f::FcOp, f::FcOpMaker);
|
|
|
|
|
REGISTER_OP(many_output_op, f::EmptyOp, f::ManyOutputOpMaker);
|
|
|
|
|
REGISTER_GRADIENT_OP(many_output_op, many_output_op_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP(rowwise_add, f::EmptyOp, f::RowWiseAddOpMaker, rowwise_add_grad);
|
|
|
|
|
REGISTER_GRADIENT_OP(rowwise_add_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP(mul, f::EmptyOp, f::MulOpMaker, mul_grad);
|
|
|
|
|
REGISTER_GRADIENT_OP(mul_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP(sigmoid, f::EmptyOp, f::SigmoidOpMaker, sigmoid_grad);
|
|
|
|
|
REGISTER_GRADIENT_OP(sigmoid_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP_WITHOUT_GRADIENT(nograd, f::EmptyOp, f::NoGradOpMaker);
|
|
|
|
|
REGISTER_OP_WITHOUT_GRADIENT(fill_zeros_like, f::EmptyOp, f::FillZeroOpMaker);
|
|
|
|
|
REGISTER_OP(add, f::EmptyOp, f::AddOpMaker, add_grad);
|
|
|
|
|
REGISTER_GRADIENT_OP(add_grad, f::EmptyOp);
|
|
|
|
|
REGISTER_OP_WITHOUT_GRADIENT(fc, f::FcOp, f::FcOpMaker);
|
|
|
|
|
REGISTER_OP(many_output_op, f::EmptyOp, f::ManyOutputOpMaker,
|
|
|
|
|
many_output_op_grad);
|
|
|
|
|
REGISTER_GRADIENT_OP(many_output_op_grad, f::EmptyOp);
|
|
|
|
|
|
|
|
|
|
TEST(Backward, simple_op_grad) {
|
|
|
|
|
auto fwd = f::OpRegistry::CreateOp("rowwise_add", {"X", "b"}, {"Out"}, {});
|
|
|
|
|