@@ -12,8 +12,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212See the License for the specific language governing permissions and
1313limitations under the License. */
1414
15- #include " paddle/fluid/operators/elementwise/elementwise_sub_op.h"
16-
1715#include < string>
1816
1917#include " paddle/fluid/operators/elementwise/elementwise_op.h"
@@ -78,10 +76,16 @@ class ElementwiseSubDoubleGradMaker : public framework::SingleGradOpMaker<T> {
7876} // namespace paddle
7977
8078REGISTER_ELEMWISE_GRAD_MAKER (elementwise_sub, Sub);
81- REGISTER_ELEMWISE_EXPLICIT_OP_WITHOUT_GRAD (elementwise_sub, Sub);
8279
8380namespace ops = paddle::operators;
8481
82+ REGISTER_OPERATOR (elementwise_sub, ::paddle::operators::ElementwiseOp,
83+ ::paddle::operators::ElementwiseSubOpMaker,
84+ ::paddle::operators::ElementwiseOpInferVarType,
85+ elementwise_subGradMaker<::paddle::framework::OpDesc>,
86+ elementwise_subGradMaker<::paddle::imperative::OpBase>,
87+ ::paddle::operators::ElementwiseOpInplaceInferer);
88+
8589REGISTER_OPERATOR (
8690 elementwise_sub_grad, ops::ElementwiseOpGrad,
8791 ops::ElementwiseGradOpInplaceInferer, ops::ElementwiseGradNoBufVarsInferer,
@@ -92,51 +96,6 @@ REGISTER_OPERATOR(elementwise_sub_grad_grad,
9296 ops::ElementwiseDoubleGradOpInplaceInferer,
9397 ops::ElementwiseDoubleGradNoBufVarsInferer);
9498
95- REGISTER_OP_CPU_KERNEL (
96- elementwise_sub,
97- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext, float >,
98- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext, double >,
99- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext, int16_t >,
100- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext, int >,
101- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext, int64_t >,
102- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext,
103- paddle::platform::bfloat16>,
104- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext,
105- paddle::platform::complex <float >>,
106- ops::ElementwiseSubKernel<paddle::platform::CPUDeviceContext,
107- paddle::platform::complex <double >>);
108- REGISTER_OP_CPU_KERNEL (
109- elementwise_sub_grad,
110- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext, float >,
111- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext, double >,
112- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext, int16_t >,
113- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext, int >,
114- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext, int64_t >,
115- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext,
116- paddle::platform::bfloat16>,
117- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext,
118- paddle::platform::complex <float >>,
119- ops::ElementwiseSubGradKernel<paddle::platform::CPUDeviceContext,
120- paddle::platform::complex <double >>);
121- REGISTER_OP_CPU_KERNEL (
122- elementwise_sub_grad_grad,
123- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
124- float >,
125- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
126- double >,
127- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
128- int16_t >,
129- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
130- int >,
131- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
132- int64_t >,
133- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
134- paddle::platform::bfloat16>,
135- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
136- paddle::platform::complex <float >>,
137- ops::ElementwiseSubDoubleGradKernel<paddle::platform::CPUDeviceContext,
138- paddle::platform::complex <double >>);
139-
14099REGISTER_OP_VERSION (elementwise_sub)
141100 .AddCheckpoint(
142101 R"ROC( Register elementwise_sub for adding the attribute of Scale_y)ROC" ,
0 commit comments