Skip to content

Commit e77a947

Browse files
authored
Move some activation to phi (#40727)
* update * add forward case * update * update; test=develop * add some grad kernel; test=develop * move gpu kernel; test=develop * update * update; * update test; * fix selected rows bug; * add mix vector include ; * add mixed vector depen; test=develop * add logit grad signature; * polish code * fix bug; * add namespace for abs * revert code * not move softsign * revmove duplate register; * fix softsign bug * polish code * format * format * fix bug * remove cmake dep * add square sqrt selected rows support * update * remove clip norm * add standalone executor sqrt dep * standalone exec denp sqrt * remove sqrt op in cmkaelist * open some case
1 parent e91292c commit e77a947

29 files changed

+1908
-931
lines changed

paddle/fluid/framework/new_executor/standalone_executor_test.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ USE_OP_ITSELF(tanh_grad);
5353
USE_OP(sum);
5454
USE_OP_ITSELF(slice_grad);
5555
USE_OP_ITSELF(lookup_table_grad);
56-
USE_OP(sqrt);
56+
USE_OP_ITSELF(sqrt);
5757
USE_OP_ITSELF(elementwise_max);
5858
USE_OP_ITSELF(elementwise_div);
5959
USE_OP_ITSELF(sgd);
@@ -83,6 +83,7 @@ PD_DECLARE_KERNEL(max_raw, GPU, ALL_LAYOUT);
8383
PD_DECLARE_KERNEL(sgd, GPU, ALL_LAYOUT);
8484
PD_DECLARE_KERNEL(slice, GPU, ALL_LAYOUT);
8585
PD_DECLARE_KERNEL(slice_grad, GPU, ALL_LAYOUT);
86+
PD_DECLARE_KERNEL(sqrt, GPU, ALL_LAYOUT);
8687

8788
DECLARE_double(eager_delete_tensor_gb);
8889

paddle/fluid/operators/activation_op.cc

Lines changed: 9 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,6 +1496,14 @@ REGISTER_ACTIVATION_OP(hard_sigmoid, HardSigmoid, HardSigmoidFunctor,
14961496
HardSigmoidGradFunctor);
14971497
REGISTER_ACTIVATION_OP(logsigmoid, LogSigmoid, LogSigmoidFunctor,
14981498
LogSigmoidGradFunctor);
1499+
REGISTER_ACTIVATION_OP(expm1, Expm1, Expm1Functor, Expm1GradFunctor);
1500+
REGISTER_ACTIVATION_OP(softplus, Softplus, SoftplusFunctor,
1501+
SoftplusGradFunctor);
1502+
REGISTER_ACTIVATION_OP(mish, Mish, MishFunctor, MishGradFunctor);
1503+
REGISTER_ACTIVATION_OP(stanh, STanh, STanhFunctor, STanhGradFunctor);
1504+
REGISTER_ACTIVATION_OP(reciprocal, Reciprocal, ReciprocalFunctor,
1505+
ReciprocalGradFunctor);
1506+
14991507
REGISTER_ACTIVATION_OP(log2, Log2, Log2Functor, Log2GradFunctor);
15001508
REGISTER_ACTIVATION_OP(log10, Log10, Log10Functor, Log10GradFunctor);
15011509
REGISTER_ACTIVATION_OP(log1p, Log1p, Log1pFunctor, Log1pGradFunctor);
@@ -1630,12 +1638,7 @@ REGISTER_OPERATOR(logit, ops::LogitOp, ops::LogitOpMaker,
16301638
ops::LogitGradOpMaker<paddle::framework::OpDesc>,
16311639
ops::LogitGradOpMaker<paddle::imperative::OpBase>);
16321640
REGISTER_OPERATOR(logit_grad, ops::LogitGradOp);
1633-
REGISTER_OP_CPU_KERNEL(
1634-
logit, ops::LogitKernel<paddle::platform::CPUDeviceContext, float>,
1635-
ops::LogitKernel<paddle::platform::CPUDeviceContext, double>);
1636-
REGISTER_OP_CPU_KERNEL(
1637-
logit_grad, ops::LogitGradKernel<paddle::platform::CPUDeviceContext, float>,
1638-
ops::LogitGradKernel<paddle::platform::CPUDeviceContext, double>);
1641+
16391642
/* ========================================================================== */
16401643

16411644
/* ======================== celu register ============================
@@ -1684,7 +1687,6 @@ REGISTER_OPERATOR(
16841687
ops::ActivationOpDoubleGrad<ops::SqrtGradGradFunctor<float>::FwdDeps()>,
16851688
ops::ActivationDoubleGradOpInplaceInferer);
16861689

1687-
REGISTER_ACTIVATION_CPU_KERNEL(sqrt, Sqrt, SqrtFunctor, SqrtGradFunctor);
16881690
REGISTER_OP_CPU_KERNEL(
16891691
sqrt_grad_grad, ops::SqrtDoubleGradKernel<plat::CPUDeviceContext,
16901692
ops::SqrtGradGradFunctor<float>>,
@@ -1712,7 +1714,6 @@ REGISTER_OPERATOR(
17121714
ops::ActivationOpDoubleGrad<ops::RsqrtGradGradFunctor<float>::FwdDeps()>,
17131715
ops::ActivationDoubleGradOpInplaceInferer);
17141716

1715-
REGISTER_ACTIVATION_CPU_KERNEL(rsqrt, Rsqrt, RsqrtFunctor, RsqrtGradFunctor);
17161717
REGISTER_OP_CPU_KERNEL(
17171718
rsqrt_grad_grad,
17181719
ops::RsqrtDoubleGradKernel<plat::CPUDeviceContext,
@@ -1741,25 +1742,6 @@ REGISTER_OPERATOR(
17411742
ops::ActivationOpDoubleGrad<ops::SquareGradGradFunctor<float>::FwdDeps()>,
17421743
ops::ActivationDoubleGradOpInplaceInferer);
17431744

1744-
REGISTER_OP_CPU_KERNEL(square,
1745-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1746-
ops::SquareFunctor<float>>,
1747-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1748-
ops::SquareFunctor<double>>,
1749-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1750-
ops::SquareFunctor<int>>,
1751-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1752-
ops::SquareFunctor<int64_t>>);
1753-
REGISTER_OP_CPU_KERNEL(
1754-
square_grad, ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1755-
ops::SquareGradFunctor<float>>,
1756-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1757-
ops::SquareGradFunctor<double>>,
1758-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1759-
ops::SquareGradFunctor<int>>,
1760-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1761-
ops::SquareGradFunctor<int64_t>>);
1762-
17631745
REGISTER_OP_CPU_KERNEL(
17641746
square_grad_grad,
17651747
ops::SquareDoubleGradKernel<plat::CPUDeviceContext,
@@ -1798,54 +1780,6 @@ REGISTER_OPERATOR(
17981780
REGISTER_OPERATOR(exp_grad, ops::ActivationOpGrad,
17991781
ops::ActivationGradOpInplaceInferer);
18001782

1801-
REGISTER_OP_CPU_KERNEL(exp,
1802-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1803-
ops::ExpFunctor<float>>,
1804-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1805-
ops::ExpFunctor<double>>,
1806-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1807-
ops::ExpFunctor<int>>,
1808-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1809-
ops::ExpFunctor<int64_t>>);
1810-
REGISTER_OP_CPU_KERNEL(
1811-
exp_grad, ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1812-
ops::ExpGradFunctor<float>>,
1813-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1814-
ops::ExpGradFunctor<double>>,
1815-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1816-
ops::ExpGradFunctor<int>>,
1817-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1818-
ops::ExpGradFunctor<int64_t>>);
1819-
/* ========================================================================== */
1820-
1821-
/* ========================== expm1 register ============================ */
1822-
REGISTER_OPERATOR(
1823-
expm1, ops::ActivationOp, ops::Expm1OpMaker, ops::ActivationOpInferVarType,
1824-
ops::ActivationGradOpMaker<ops::Expm1GradFunctor<float>::FwdDeps(),
1825-
paddle::framework::OpDesc>,
1826-
ops::ActivationGradOpMaker<ops::Expm1GradFunctor<float>::FwdDeps(),
1827-
paddle::imperative::OpBase>,
1828-
std::conditional<ops::CanInplaceAct<ops::Expm1GradFunctor<float>>(),
1829-
ops::ActFwdInplaceInferer, void>::type);
1830-
REGISTER_OPERATOR(expm1_grad, ops::ActivationOpGrad,
1831-
ops::ActivationGradOpInplaceInferer);
1832-
1833-
REGISTER_OP_CPU_KERNEL(expm1,
1834-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1835-
ops::Expm1Functor<float>>,
1836-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1837-
ops::Expm1Functor<double>>,
1838-
ops::ActivationKernel<paddle::platform::CPUDeviceContext,
1839-
ops::Expm1Functor<plat::float16>>);
1840-
REGISTER_OP_CPU_KERNEL(
1841-
expm1_grad, ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1842-
ops::Expm1GradFunctor<float>>,
1843-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1844-
ops::Expm1GradFunctor<double>>,
1845-
ops::ActivationGradKernel<paddle::platform::CPUDeviceContext,
1846-
ops::Expm1GradFunctor<plat::float16>>);
1847-
/* ========================================================================== */
1848-
18491783
/* ========================== Log register ==================================*/
18501784
REGISTER_OPERATOR(
18511785
log, ops::ActivationOp, ops::LogOpMaker, ops::ActivationOpInferVarType,
@@ -1864,8 +1798,6 @@ REGISTER_OPERATOR(
18641798
ops::ActivationOpDoubleGrad<ops::LogGradGradFunctor<float>::FwdDeps()>,
18651799
ops::ActivationDoubleGradOpInplaceInferer);
18661800

1867-
/* ========================================================================== */
1868-
18691801
/* ========================== register checkpoint ===========================*/
18701802
REGISTER_OP_VERSION(leaky_relu)
18711803
.AddCheckpoint(

0 commit comments

Comments
 (0)