Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
e90f9367
P
Paddle
项目概览
Crayon鑫
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
e90f9367
编写于
4月 04, 2022
作者:
H
hong
提交者:
GitHub
4月 04, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add no need buffer; (#41367)
上级
f8b3e576
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
33 addition
and
33 deletion
+33
-33
paddle/fluid/eager/auto_code_generator/final_state_generator/eager_gen.py
...er/auto_code_generator/final_state_generator/eager_gen.py
+2
-1
python/paddle/fluid/tests/unittests/test_elementwise_add_op.py
...n/paddle/fluid/tests/unittests/test_elementwise_add_op.py
+2
-2
python/paddle/utils/code_gen/api.yaml
python/paddle/utils/code_gen/api.yaml
+9
-20
python/paddle/utils/code_gen/backward.yaml
python/paddle/utils/code_gen/backward.yaml
+20
-10
未找到文件。
paddle/fluid/eager/auto_code_generator/final_state_generator/eager_gen.py
浏览文件 @
e90f9367
...
...
@@ -724,10 +724,11 @@ class DygraphFunctionGeneratorBase(FunctionGeneratorBase):
is_optional
=
(
name
in
optional_inputs
)
if
is_fwd_input
:
need_input_data
=
"false"
if
name
in
self
.
no_need_buffers
else
"true"
if
is_optional
:
set_tensor_wrappers
=
f
"
{
indent
}
if(
{
name
}
.get_ptr() != nullptr) grad_node->SetTensorWrapper
{
name
}
(*(
{
name
}
.get_ptr()), true);"
else
:
set_tensor_wrappers
=
f
"
{
indent
}
grad_node->SetTensorWrapper
{
name
}
(
{
name
}
,
true
);"
set_tensor_wrappers
=
f
"
{
indent
}
grad_node->SetTensorWrapper
{
name
}
(
{
name
}
,
{
need_input_data
}
);"
else
:
if
num_fwd_outputs
>
1
:
# Aligned with forward output position
...
...
python/paddle/fluid/tests/unittests/test_elementwise_add_op.py
浏览文件 @
e90f9367
...
...
@@ -28,6 +28,7 @@ class TestElementwiseAddOp(OpTest):
def
setUp
(
self
):
self
.
op_type
=
"elementwise_add"
self
.
python_api
=
paddle
.
add
self
.
init_dtype
()
self
.
init_input_output
()
self
.
init_kernel_type
()
...
...
@@ -41,8 +42,7 @@ class TestElementwiseAddOp(OpTest):
self
.
outputs
=
{
'Out'
:
self
.
out
}
def
check_eager
(
self
):
return
False
#return (self.use_mkldnn == False and self.axis == -1)
return
(
self
.
use_mkldnn
==
False
and
self
.
axis
==
-
1
)
def
test_check_output
(
self
):
# TODO(wangzhongpu): support mkldnn op in dygraph mode
...
...
python/paddle/utils/code_gen/api.yaml
浏览文件 @
e90f9367
...
...
@@ -61,7 +61,6 @@
kernel
:
func
:
add
backward
:
add_grad
# no_need_buffer : x, y
-
api
:
add_n
args
:
(Tensor[] x)
...
...
@@ -147,7 +146,6 @@
kernel
:
func
:
argsort
backward
:
argsort_grad
# no_need_buffer : x
# asin
-
api
:
asin
...
...
@@ -455,7 +453,6 @@
kernel
:
func
:
diagonal
backward
:
diagonal_grad
# no_need_buffer : x
-
api
:
digamma
args
:
(Tensor x)
...
...
@@ -666,9 +663,9 @@
-
api
:
frobenius_norm
args
:
(Tensor x, int64_t[] axis, bool keep_dim, bool reduce_all)
output
:
Tensor(out)
infer_meta
:
infer_meta
:
func
:
ReduceInferMetaBase
kernel
:
kernel
:
func
:
frobenius_norm
backward
:
frobenius_norm_grad
...
...
@@ -817,14 +814,13 @@
func
:
index_sample
data_type
:
x
backward
:
index_sample_grad
# no_need_buffer : x
-
api
:
index_select
args
:
(Tensor x, Tensor index, int dim)
output
:
Tensor(out)
infer_meta
:
infer_meta
:
func
:
IndexSelectInferMeta
kernel
:
kernel
:
func
:
index_select
data_type
:
x
backward
:
index_select_grad
...
...
@@ -1283,7 +1279,7 @@
func
:
PoolInferMeta
kernel
:
func
:
pool2d
backward
:
pool2d_grad
backward
:
pool2d_grad
-
api
:
pool3d
args
:
(Tensor x, int[] kernel_size, int[] strides, int[] paddings, bool ceil_mode, bool exclusive, str data_format, str pooling_type, bool global_pooling, bool adaptive, str padding_algorithm)
...
...
@@ -1393,9 +1389,9 @@
-
api
:
roll
args
:
(Tensor x, IntArray shifts, int64_t[] axis)
output
:
Tensor(out)
infer_meta
:
infer_meta
:
func
:
RollInferMeta
kernel
:
kernel
:
func
:
roll
backward
:
roll_grad
...
...
@@ -1428,7 +1424,6 @@
kernel
:
func
:
scatter
backward
:
scatter_grad
# no_need_buffer : updates
-
api
:
scatter_nd_add
args
:
(Tensor x, Tensor index, Tensor updates)
...
...
@@ -1439,7 +1434,6 @@
kernel
:
func
:
scatter_nd_add
backward
:
scatter_nd_add_grad
# no_need_buffer : updates
-
api
:
searchsorted
args
:
(Tensor sorted_sequence, Tensor value, bool out_int32, bool right)
...
...
@@ -1633,7 +1627,6 @@
kernel
:
func
:
subtract
backward
:
subtract_grad
# no_need_buffer : x, y
-
api
:
sum
args
:
(Tensor x, int64_t[] dims={}, DataType out_dtype=paddle::experimental::DataType::UNDEFINED, bool keep_dim=false)
...
...
@@ -1707,7 +1700,6 @@
kernel
:
func
:
tile
backward
:
tile_grad
# no_need_buffer : x
-
api
:
top_k
args
:
(Tensor x, Scalar k, int axis = -1, bool largest =
true
, bool sorted =
true
)
...
...
@@ -1726,7 +1718,6 @@
kernel
:
func
:
trace
backward
:
trace_grad
no_need_buffer
:
x
-
api
:
transpose
args
:
(Tensor x, int[] axis)
...
...
@@ -1749,9 +1740,9 @@
-
api
:
tril_triu
args
:
(Tensor x, int diagonal, bool lower)
output
:
Tensor(out)
infer_meta
:
infer_meta
:
func
:
TrilTriuInferMeta
kernel
:
kernel
:
func
:
tril_triu
backward
:
tril_triu_grad
...
...
@@ -1773,7 +1764,6 @@
kernel
:
func
:
unfold
backward
:
unfold_grad
# no_need_buffer : x
-
api
:
unsqueeze
args
:
(Tensor x, IntArray axes)
...
...
@@ -1812,7 +1802,6 @@
func
:
WhereIndexInferMeta
kernel
:
func
:
where_index
# no_need_buffer : x, y
# yolo_box
-
api
:
yolo_box
...
...
python/paddle/utils/code_gen/backward.yaml
浏览文件 @
e90f9367
# - backward_api : gumbel_softmax_grad
# forward : gumbel_softmax (Tensor x, float temperature, bool hard, int axis) -> Tensor(out)
# args : (Tensor out, Tensor out_grad, int axis)
# output : Tensor(x_grad)
# infer_meta :
# func : GumbelSoftmaxGradInferMeta
# param : [out, out_grad, axis]
# kernel :
# func : gumbel_softmax_grad
-
backward_api
:
abs_grad
forward
:
abs (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
...
...
@@ -49,7 +59,7 @@
no_need_buffer
:
x
-
backward_api
:
addmm_grad
forward
:
scatter
(Tensor input, Tensor x, Tensor y, float alpha, float beta) -> Tensor(out)
forward
:
addmm
(Tensor input, Tensor x, Tensor y, float alpha, float beta) -> Tensor(out)
args
:
(Tensor input, Tensor x, Tensor y, Tensor out_grad, float alpha, float beta)
output
:
Tensor(input_grad), Tensor(x_grad), Tensor(y_grad)
infer_meta
:
...
...
@@ -67,6 +77,7 @@
param
:
[
x
]
kernel
:
func
:
argsort_grad
no_need_buffer
:
x
-
backward_api
:
asin_grad
forward
:
asin (Tensor x) -> Tensor(out)
...
...
@@ -274,15 +285,6 @@
param
:
[
x
]
kernel
:
func
:
cumprod_grad
# - backward_api : gumbel_softmax_grad
# forward : gumbel_softmax (Tensor x, float temperature, bool hard, int axis) -> Tensor(out)
# args : (Tensor out, Tensor out_grad, int axis)
# output : Tensor(x_grad)
# infer_meta :
# func : GumbelSoftmaxGradInferMeta
# param : [out, out_grad, axis]
# kernel :
# func : gumbel_softmax_grad
-
backward_api
:
depthwise_conv2d_transpose_grad
forward
:
depthwise_conv2d_transpose(Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, int[] output_size, str padding_algorithm, int groups, int[] dilations, str data_format) -> Tensor(out)
...
...
@@ -302,6 +304,7 @@
param
:
[
x
]
kernel
:
func
:
diagonal_grad
no_need_buffer
:
x
-
backward_api
:
digamma_grad
forward
:
digamma (Tensor x) -> Tensor(out)
...
...
@@ -529,6 +532,7 @@
kernel
:
func
:
index_sample_grad
data_type
:
out_grad
no_need_buffer
:
x
-
backward_api
:
index_select_grad
forward
:
index_select(Tensor x, Tensor index, int dim) -> Tensor(out)
...
...
@@ -1026,6 +1030,7 @@
param
:
[
index
,
updates
,
out_grad
,
overwrite
]
kernel
:
func
:
scatter_grad
no_need_buffer
:
updates
-
backward_api
:
scatter_nd_add_grad
forward
:
scatter (Tensor x, Tensor index, Tensor updates) -> Tensor(out)
...
...
@@ -1036,6 +1041,7 @@
param
:
[
index
,
updates
,
out_grad
]
kernel
:
func
:
scatter_nd_grad
no_need_buffer
:
updates
-
backward_api
:
segment_pool_grad
forward
:
segment_pool (Tensor x, Tensor segment_ids, str pooltype) -> Tensor(out), Tensor(summed_ids)
...
...
@@ -1193,6 +1199,7 @@
param
:
[
x
,
y
]
kernel
:
func
:
subtract_grad
no_need_buffer
:
x, y
-
backward_api
:
sum_grad
forward
:
sum (Tensor x, int64_t[] dims={}, DataType out_dtype=paddle::experimental::DataType::UNDEFINED, bool keep_dim=false) -> Tensor(out)
...
...
@@ -1263,6 +1270,7 @@
param
:
[
x
]
kernel
:
func
:
tile_grad
no_need_buffer
:
x
-
backward_api
:
top_k_grad
forward
:
top_k (Tensor x, Scalar k, int axis = -1, bool largest =
true
, bool sorted =
true
) -> Tensor(out), Tensor(indices)
...
...
@@ -1283,6 +1291,7 @@
param
:
[
x
]
kernel
:
func
:
trace_grad
no_need_buffer
:
x
-
backward_api
:
transpose_grad
forward
:
transpose (Tensor x, int[] axis) -> Tensor(out)
...
...
@@ -1323,6 +1332,7 @@
param
:
[
x
]
kernel
:
func
:
unfold_grad
no_need_buffer
:
x
-
backward_api
:
unsqueeze_grad
forward
:
unsqueeze(Tensor x, IntArray axes) -> Tensor(xshape), Tensor(out)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录