Skip to content

Commit 2b98993

Browse files
authored
support auto generate for p_norm (#51590)
* supoort auto generate p_norm * fix bug in backward
1 parent ec877d1 commit 2b98993

File tree

8 files changed

+34
-184
lines changed

8 files changed

+34
-184
lines changed

paddle/fluid/operators/p_norm_op.cc

Lines changed: 0 additions & 139 deletions
This file was deleted.

paddle/phi/api/yaml/backward.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,6 +1028,16 @@
10281028
func : overlap_add_grad
10291029
data_type : x
10301030

1031+
- backward_op : p_norm_grad
1032+
forward : p_norm(Tensor x, float porder=2, int axis=-1, float epsilon=1.0e-12f, bool keepdim=false, bool asvector=false) -> Tensor(out)
1033+
args : (Tensor x, Tensor out, Tensor out_grad, float porder, int axis, float epsilon, bool keepdim, bool asvector)
1034+
output : Tensor(x_grad)
1035+
infer_meta :
1036+
func : GeneralUnaryGradInferMeta
1037+
param: [x]
1038+
kernel :
1039+
func : p_norm_grad
1040+
10311041
- backward_op : pixel_shuffle_grad
10321042
forward : pixel_shuffle (Tensor x, int upscale_factor=1, str data_format="NCHW") -> Tensor(out)
10331043
args : (Tensor out_grad, int upscale_factor, str data_format)

paddle/phi/api/yaml/legacy_backward.yaml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -863,16 +863,6 @@
863863
kernel :
864864
func : norm_grad
865865

866-
- backward_op : p_norm_grad
867-
forward : p_norm(Tensor x, float porder, int axis, float epsilon, bool keepdim, bool asvector=false) -> Tensor(out)
868-
args : (Tensor x, Tensor out, Tensor out_grad, float porder, int axis, float epsilon, bool keepdim, bool asvector)
869-
output : Tensor(x_grad)
870-
infer_meta :
871-
func : UnchangedInferMeta
872-
param: [x]
873-
kernel :
874-
func : p_norm_grad
875-
876866
- backward_op : pad3d_double_grad
877867
forward : pad3d_grad(Tensor x, Tensor grad_out, IntArray paddings, str mode, float pad_value, str data_format) -> Tensor(grad_x)
878868
args : (Tensor grad_x_grad, IntArray paddings, str mode, float pad_value, str data_format)

paddle/phi/api/yaml/legacy_ops.yaml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,15 +1235,6 @@
12351235
output : Tensor(out)
12361236
invoke : full_like(x, 1, dtype, place)
12371237

1238-
- op : p_norm
1239-
args : (Tensor x, float porder, int axis, float epsilon, bool keepdim, bool asvector=false)
1240-
output : Tensor(out)
1241-
infer_meta :
1242-
func : PNormInferMeta
1243-
kernel :
1244-
func : p_norm
1245-
backward : p_norm_grad
1246-
12471238
- op : pad
12481239
args : (Tensor x, int[] paddings, Scalar pad_value)
12491240
output : Tensor

paddle/phi/api/yaml/op_compat.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1290,6 +1290,13 @@
12901290
outputs :
12911291
out : Out
12921292

1293+
- op : p_norm
1294+
backward: p_norm_grad
1295+
inputs :
1296+
x : X
1297+
outputs :
1298+
out : Out
1299+
12931300
- op : pad2d
12941301
backward : pad2d_grad
12951302
extra :

paddle/phi/api/yaml/op_version.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,14 @@
102102
comment : In order to force fill output variable to gpu memory.
103103
default : "false"
104104

105+
- op : p_norm
106+
version :
107+
- checkpoint : Upgrade p_norm, add 1 attribute [asvector].
108+
action :
109+
- add_attr : asvector
110+
comment : Compute as vector when axis is None and input is matrix.
111+
default : "false"
112+
105113
- op : pixel_shuffle
106114
version :
107115
- checkpoint : Compatible upgrade of pixel_shuffle, add a new attribute [data_format]

paddle/phi/api/yaml/ops.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,6 +1078,15 @@
10781078
data_type : x
10791079
backward: overlap_add_grad
10801080

1081+
- op : p_norm
1082+
args : (Tensor x, float porder=2, int axis=-1, float epsilon=1.0e-12f, bool keepdim=false, bool asvector=false)
1083+
output : Tensor(out)
1084+
infer_meta :
1085+
func : PNormInferMeta
1086+
kernel :
1087+
func : p_norm
1088+
backward : p_norm_grad
1089+
10811090
- op : pixel_shuffle
10821091
args : (Tensor x, int upscale_factor=1, str data_format="NCHW")
10831092
output : Tensor

paddle/phi/ops/compat/p_norm_sig.cc

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)