From c90d751ec1b8069a6aee2a6672cb3f3429482191 Mon Sep 17 00:00:00 2001 From: dongzhihong Date: Wed, 2 Aug 2017 16:03:22 +0800 Subject: [PATCH] "add no gradient" --- paddle/framework/op_registry.h | 8 ++++++++ paddle/operators/rowwise_add_op.cc | 3 +++ 2 files changed, 11 insertions(+) diff --git a/paddle/framework/op_registry.h b/paddle/framework/op_registry.h index f10c929798..3e72e39126 100644 --- a/paddle/framework/op_registry.h +++ b/paddle/framework/op_registry.h @@ -400,6 +400,14 @@ class GradOpRegisterHelper { return 0; \ } +/** + * Macro to Forbid user register Gradient Operator. + */ +#define NO_GRADIENT(__op_type) \ + STATIC_ASSERT_GLOBAL_NAMESPACE( \ + __reg_gradient_op__##__op_type##__op_type##_grad, \ + "NO_GRADIENT must be in global namespace") + /** * Macro to Register OperatorKernel. */ diff --git a/paddle/operators/rowwise_add_op.cc b/paddle/operators/rowwise_add_op.cc index 2ad2b66c8f..cb79dc7271 100644 --- a/paddle/operators/rowwise_add_op.cc +++ b/paddle/operators/rowwise_add_op.cc @@ -51,5 +51,8 @@ for i in xrange(X.shape[0]): } // namespace paddle REGISTER_OP(rowwise_add, ops::RowWiseAddOp, ops::RowWiseAddOpMaker); +// REGISTER_GRADIENT_OP(rowwise_add, rowwise_add_grad, ops::RowWiseAddGradOp); +NO_GRADIENT(rowwise_add); + REGISTER_OP_CPU_KERNEL(rowwise_add, ops::RowWiseAddKernel); -- GitLab