Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle
提交
6891a4fe
P
Paddle
项目概览
PaddlePaddle
/
Paddle
大约 2 年 前同步成功
通知
2325
Star
20933
Fork
5424
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1423
列表
看板
标记
里程碑
合并请求
543
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1,423
Issue
1,423
列表
看板
标记
里程碑
合并请求
543
合并请求
543
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
6891a4fe
编写于
9月 14, 2022
作者:
C
Chen Weihang
提交者:
GitHub
9月 14, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
normize yaml backward op label (#46028)
上级
6bd2762c
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
322 addition
and
323 deletion
+322
-323
paddle/fluid/eager/auto_code_generator/generator/codegen_utils.py
...luid/eager/auto_code_generator/generator/codegen_utils.py
+4
-4
paddle/fluid/eager/auto_code_generator/generator/eager_gen.py
...le/fluid/eager/auto_code_generator/generator/eager_gen.py
+2
-3
paddle/phi/api/yaml/backward.yaml
paddle/phi/api/yaml/backward.yaml
+21
-21
paddle/phi/api/yaml/generator/backward_api_gen.py
paddle/phi/api/yaml/generator/backward_api_gen.py
+1
-1
paddle/phi/api/yaml/generator/parse_api.py
paddle/phi/api/yaml/generator/parse_api.py
+1
-1
paddle/phi/api/yaml/generator/parse_utils.py
paddle/phi/api/yaml/generator/parse_utils.py
+1
-1
paddle/phi/api/yaml/legacy_backward.yaml
paddle/phi/api/yaml/legacy_backward.yaml
+254
-254
paddle/phi/api/yaml/sparse_backward.yaml
paddle/phi/api/yaml/sparse_backward.yaml
+38
-38
未找到文件。
paddle/fluid/eager/auto_code_generator/generator/codegen_utils.py
浏览文件 @
6891a4fe
...
@@ -83,10 +83,10 @@ def ReadBwdFile(filepath):
...
@@ -83,10 +83,10 @@ def ReadBwdFile(filepath):
ret
=
{}
ret
=
{}
if
contents
is
not
None
:
if
contents
is
not
None
:
for
content
in
contents
:
for
content
in
contents
:
assert
'backward_
api
'
in
content
.
keys
(),
AssertMessage
(
assert
'backward_
op
'
in
content
.
keys
(),
AssertMessage
(
'backward_
api
'
,
content
.
keys
())
'backward_
op
'
,
content
.
keys
())
if
'backward_
api
'
in
content
.
keys
():
if
'backward_
op
'
in
content
.
keys
():
api_name
=
content
[
'backward_
api
'
]
api_name
=
content
[
'backward_
op
'
]
ret
[
api_name
]
=
content
ret
[
api_name
]
=
content
f
.
close
()
f
.
close
()
...
...
paddle/fluid/eager/auto_code_generator/generator/eager_gen.py
浏览文件 @
6891a4fe
...
@@ -1485,7 +1485,7 @@ class DygraphNodeGenerator(DygraphFunctionGeneratorBase):
...
@@ -1485,7 +1485,7 @@ class DygraphNodeGenerator(DygraphFunctionGeneratorBase):
if
next_grad_api_contents
:
if
next_grad_api_contents
:
# Fake forward_api_contents and backward_api_contents
# Fake forward_api_contents and backward_api_contents
forward_api_contents
=
grad_api_contents
forward_api_contents
=
grad_api_contents
forward_api_contents
[
'op'
]
=
forward_api_contents
[
'backward_
api
'
]
forward_api_contents
[
'op'
]
=
forward_api_contents
[
'backward_
op
'
]
backward_api_contents
=
next_grad_api_contents
backward_api_contents
=
next_grad_api_contents
next_node_generator
=
DygraphFunctionGeneratorBase
(
next_node_generator
=
DygraphFunctionGeneratorBase
(
...
@@ -1959,8 +1959,7 @@ class DygraphForwardAndNodesGenerator(GeneratorBase):
...
@@ -1959,8 +1959,7 @@ class DygraphForwardAndNodesGenerator(GeneratorBase):
forward_api_contents
=
backward_api_contents
forward_api_contents
=
backward_api_contents
# Fake forward_api_content
# Fake forward_api_content
forward_api_contents
[
'op'
]
=
forward_api_contents
[
forward_api_contents
[
'op'
]
=
forward_api_contents
[
'backward_op'
]
'backward_api'
]
backward_api_contents
=
next_grad_api_contents
backward_api_contents
=
next_grad_api_contents
if
len
(
namespace
)
>
0
:
if
len
(
namespace
)
>
0
:
...
...
paddle/phi/api/yaml/backward.yaml
浏览文件 @
6891a4fe
-
backward_
api
:
atan2_grad
-
backward_
op
:
atan2_grad
forward
:
atan2 (Tensor x, Tensor y) -> Tensor(out)
forward
:
atan2 (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
kernel
:
kernel
:
func
:
atan2_grad
func
:
atan2_grad
-
backward_
api
:
cholesky_grad
-
backward_
op
:
cholesky_grad
forward
:
cholesky (Tensor x, bool upper) -> Tensor(out)
forward
:
cholesky (Tensor x, bool upper) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, bool upper)
args
:
(Tensor out, Tensor out_grad, bool upper)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
kernel
:
kernel
:
func
:
cholesky_grad
func
:
cholesky_grad
-
backward_
api
:
cholesky_solve_grad
-
backward_
op
:
cholesky_solve_grad
forward
:
cholesky_solve (Tensor x, Tensor y, bool upper) -> Tensor(out)
forward
:
cholesky_solve (Tensor x, Tensor y, bool upper) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, bool upper)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, bool upper)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
kernel
:
kernel
:
func
:
cholesky_solve_grad
func
:
cholesky_solve_grad
-
backward_
api
:
cross_grad
-
backward_
op
:
cross_grad
forward
:
cross (Tensor x, Tensor y, int axis = 9) -> Tensor(out)
forward
:
cross (Tensor x, Tensor y, int axis = 9) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
func
:
cross_grad
func
:
cross_grad
data_type
:
out_grad
data_type
:
out_grad
-
backward_
api
:
diag_grad
-
backward_
op
:
diag_grad
forward
:
diag (Tensor x, int offset, float padding_value) -> Tensor(out)
forward
:
diag (Tensor x, int offset, float padding_value) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int offset)
args
:
(Tensor x, Tensor out_grad, int offset)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
data_type
:
out_grad
data_type
:
out_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
diagonal_grad
-
backward_
op
:
diagonal_grad
forward
:
diagonal (Tensor x, int offset, int axis1, int axis2) -> Tensor(out)
forward
:
diagonal (Tensor x, int offset, int axis1, int axis2) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int offset = 0, int axis1 = 0, int axis2 = 1)
args
:
(Tensor x, Tensor out_grad, int offset = 0, int axis1 = 0, int axis2 = 1)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
data_type
:
out_grad
data_type
:
out_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
digamma_grad
-
backward_
op
:
digamma_grad
forward
:
digamma (Tensor x) -> Tensor(out)
forward
:
digamma (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
kernel
:
kernel
:
func
:
digamma_grad
func
:
digamma_grad
-
backward_
api
:
dist_grad
-
backward_
op
:
dist_grad
forward
:
dist (Tensor x, Tensor y, float p) -> Tensor(out)
forward
:
dist (Tensor x, Tensor y, float p) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, float p)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, float p)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -83,7 +83,7 @@
...
@@ -83,7 +83,7 @@
kernel
:
kernel
:
func
:
dist_grad
func
:
dist_grad
-
backward_
api
:
dot_grad
-
backward_
op
:
dot_grad
forward
:
dot (Tensor x, Tensor y) -> Tensor(out)
forward
:
dot (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -94,7 +94,7 @@
...
@@ -94,7 +94,7 @@
func
:
dot_grad
func
:
dot_grad
data_type
:
out_grad
data_type
:
out_grad
-
backward_
api
:
erf_grad
-
backward_
op
:
erf_grad
forward
:
erf (Tensor x) -> Tensor(out)
forward
:
erf (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -105,7 +105,7 @@
...
@@ -105,7 +105,7 @@
func
:
erf_grad
func
:
erf_grad
data_type
:
out_grad
data_type
:
out_grad
-
backward_
api
:
erfinv_grad
-
backward_
op
:
erfinv_grad
forward
:
erfinv (Tensor x) -> Tensor(out)
forward
:
erfinv (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -115,7 +115,7 @@
...
@@ -115,7 +115,7 @@
kernel
:
kernel
:
func
:
erfinv_grad
func
:
erfinv_grad
-
backward_
api
:
fft_c2c_grad
-
backward_
op
:
fft_c2c_grad
forward
:
fft_c2c(Tensor x, int64_t[] axes, str normalization, bool forward) -> Tensor(out)
forward
:
fft_c2c(Tensor x, int64_t[] axes, str normalization, bool forward) -> Tensor(out)
args
:
(Tensor out_grad, int64_t[] axes, str normalization, bool forward)
args
:
(Tensor out_grad, int64_t[] axes, str normalization, bool forward)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -125,7 +125,7 @@
...
@@ -125,7 +125,7 @@
kernel
:
kernel
:
func
:
fft_c2c_grad
func
:
fft_c2c_grad
-
backward_
api
:
fft_c2r_grad
-
backward_
op
:
fft_c2r_grad
forward
:
fft_c2r(Tensor x, int64_t[] axes, str normalization, bool forward, int64_t last_dim_size) -> Tensor(out)
forward
:
fft_c2r(Tensor x, int64_t[] axes, str normalization, bool forward, int64_t last_dim_size) -> Tensor(out)
args
:
(Tensor out_grad, int64_t[] axes, str normalization, bool forward, int64_t last_dim_size)
args
:
(Tensor out_grad, int64_t[] axes, str normalization, bool forward, int64_t last_dim_size)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
func
:
fft_c2r_grad
func
:
fft_c2r_grad
data_type
:
out_grad
data_type
:
out_grad
-
backward_
api
:
fft_r2c_grad
-
backward_
op
:
fft_r2c_grad
forward
:
fft_r2c(Tensor x, int64_t[] axes, str normalization, bool forward, bool onesided) -> Tensor(out)
forward
:
fft_r2c(Tensor x, int64_t[] axes, str normalization, bool forward, bool onesided) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int64_t[] axes, str normalization, bool forward, bool onesided)
args
:
(Tensor x, Tensor out_grad, int64_t[] axes, str normalization, bool forward, bool onesided)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -147,7 +147,7 @@
...
@@ -147,7 +147,7 @@
data_type
:
out_grad
data_type
:
out_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
graph_send_uv_grad
-
backward_
op
:
graph_send_uv_grad
forward
:
graph_send_uv (Tensor x, Tensor y, Tensor src_index, Tensor dst_index, str message_op = "ADD") -> Tensor(out)
forward
:
graph_send_uv (Tensor x, Tensor y, Tensor src_index, Tensor dst_index, str message_op = "ADD") -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor src_index, Tensor dst_index, Tensor out_grad, str message_op = "ADD")
args
:
(Tensor x, Tensor y, Tensor src_index, Tensor dst_index, Tensor out_grad, str message_op = "ADD")
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -158,7 +158,7 @@
...
@@ -158,7 +158,7 @@
func
:
graph_send_uv_grad
func
:
graph_send_uv_grad
data_type
:
x
data_type
:
x
-
backward_
api
:
lgamma_grad
-
backward_
op
:
lgamma_grad
forward
:
lgamma(Tensor x) -> Tensor(out)
forward
:
lgamma(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -168,7 +168,7 @@
...
@@ -168,7 +168,7 @@
kernel
:
kernel
:
func
:
lgamma_grad
func
:
lgamma_grad
-
backward_
api
:
mv_grad
-
backward_
op
:
mv_grad
forward
:
mv (Tensor x, Tensor vec) -> Tensor(out)
forward
:
mv (Tensor x, Tensor vec) -> Tensor(out)
args
:
(Tensor x, Tensor vec, Tensor out_grad)
args
:
(Tensor x, Tensor vec, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(vec_grad)
output
:
Tensor(x_grad), Tensor(vec_grad)
...
@@ -178,7 +178,7 @@
...
@@ -178,7 +178,7 @@
kernel
:
kernel
:
func
:
mv_grad
func
:
mv_grad
-
backward_
api
:
poisson_grad
-
backward_
op
:
poisson_grad
forward
:
poisson (Tensor x) -> Tensor(out)
forward
:
poisson (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -188,7 +188,7 @@
...
@@ -188,7 +188,7 @@
kernel
:
kernel
:
func
:
poisson_grad
func
:
poisson_grad
-
backward_
api
:
solve_grad
-
backward_
op
:
solve_grad
forward
:
solve (Tensor x, Tensor y) -> Tensor(out)
forward
:
solve (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -198,7 +198,7 @@
...
@@ -198,7 +198,7 @@
kernel
:
kernel
:
func
:
solve_grad
func
:
solve_grad
-
backward_
api
:
trace_grad
-
backward_
op
:
trace_grad
forward
:
trace (Tensor x, int offset, int axis1, int axis2) -> Tensor(out)
forward
:
trace (Tensor x, int offset, int axis1, int axis2) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int offset, int axis1, int axis2)
args
:
(Tensor x, Tensor out_grad, int offset, int axis1, int axis2)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -210,7 +210,7 @@
...
@@ -210,7 +210,7 @@
data_type
:
out_grad
data_type
:
out_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
trunc_grad
-
backward_
op
:
trunc_grad
forward
:
trunc (Tensor x) -> Tensor(out)
forward
:
trunc (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
...
paddle/phi/api/yaml/generator/backward_api_gen.py
浏览文件 @
6891a4fe
...
@@ -28,7 +28,7 @@ class BackwardAPI(BaseAPI):
...
@@ -28,7 +28,7 @@ class BackwardAPI(BaseAPI):
self
.
no_need_buffer
=
self
.
parse_no_need_buffer
(
backward_item_yaml
)
self
.
no_need_buffer
=
self
.
parse_no_need_buffer
(
backward_item_yaml
)
def
get_api_name
(
self
,
api_item_yaml
):
def
get_api_name
(
self
,
api_item_yaml
):
return
api_item_yaml
[
'backward_
api
'
]
return
api_item_yaml
[
'backward_
op
'
]
def
parse_forward_config
(
self
,
forward_config
):
def
parse_forward_config
(
self
,
forward_config
):
# api_name (const Tensor& input, ... , int attr, ...) -> Tensor(out)
# api_name (const Tensor& input, ... , int attr, ...) -> Tensor(out)
...
...
paddle/phi/api/yaml/generator/parse_api.py
浏览文件 @
6891a4fe
...
@@ -27,7 +27,7 @@ def main(api_yaml_path, output_path, backward):
...
@@ -27,7 +27,7 @@ def main(api_yaml_path, output_path, backward):
apis
=
[]
apis
=
[]
else
:
else
:
apis
=
[
apis
=
[
parse_api_entry
(
api
,
"backward_
api
"
if
backward
else
"op"
)
parse_api_entry
(
api
,
"backward_
op
"
if
backward
else
"op"
)
for
api
in
apis
for
api
in
apis
]
]
...
...
paddle/phi/api/yaml/generator/parse_utils.py
浏览文件 @
6891a4fe
...
@@ -334,7 +334,7 @@ def parse_api_entry(api_entry: Dict[str, Any], name_field="op"):
...
@@ -334,7 +334,7 @@ def parse_api_entry(api_entry: Dict[str, Any], name_field="op"):
api
[
"backward"
]
=
backward
api
[
"backward"
]
=
backward
# forward for backward_apis
# forward for backward_apis
is_backward_api
=
name_field
==
"backward_
api
"
is_backward_api
=
name_field
==
"backward_
op
"
if
is_backward_api
:
if
is_backward_api
:
if
"forward"
in
api_entry
:
if
"forward"
in
api_entry
:
forward
=
parse_forward
(
api_name
,
api_entry
[
"forward"
])
forward
=
parse_forward
(
api_name
,
api_entry
[
"forward"
])
...
...
paddle/phi/api/yaml/legacy_backward.yaml
浏览文件 @
6891a4fe
-
backward_
api
:
abs_double_grad
-
backward_
op
:
abs_double_grad
forward
:
abs_grad (Tensor x, Tensor grad_out) -> Tensor(grad_x)
forward
:
abs_grad (Tensor x, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor x, Tensor grad_x_grad)
args
:
(Tensor x, Tensor grad_x_grad)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
data_transform
:
data_transform
:
skip_transform
:
grad_x_grad
skip_transform
:
grad_x_grad
-
backward_
api
:
abs_grad
-
backward_
op
:
abs_grad
forward
:
abs (Tensor x) -> Tensor(out)
forward
:
abs (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
skip_transform
:
out_grad
skip_transform
:
out_grad
backward
:
abs_double_grad
backward
:
abs_double_grad
-
backward_
api
:
acos_grad
-
backward_
op
:
acos_grad
forward
:
acos (Tensor x) -> Tensor(out)
forward
:
acos (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
func
:
acos_grad
func
:
acos_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
acosh_grad
-
backward_
op
:
acosh_grad
forward
:
acosh (Tensor x) -> Tensor(out)
forward
:
acosh (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
func
:
acosh_grad
func
:
acosh_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
add_double_grad
-
backward_
op
:
add_double_grad
forward
:
add_grad (Tensor x, Tensor y, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
forward
:
add_grad (Tensor x, Tensor y, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
args
:
(Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
args
:
(Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
backward
:
add_triple_grad
backward
:
add_triple_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
add_grad
-
backward_
op
:
add_grad
forward
:
add (Tensor x, Tensor y) -> Tensor(out)
forward
:
add (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis = -1)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis = -1)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
backward
:
add_double_grad
backward
:
add_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
add_triple_grad
-
backward_
op
:
add_triple_grad
forward
:
add_double_grad (Tensor y, Tensor grad_out, Tensor grad_grad_x, Tensor grad_grad_y, int axis = -1) -> Tensor(grad_grad_out)
forward
:
add_double_grad (Tensor y, Tensor grad_out, Tensor grad_grad_x, Tensor grad_grad_y, int axis = -1) -> Tensor(grad_grad_out)
args
:
(Tensor grad_grad_x, Tensor grad_grad_y, Tensor grad_grad_out_grad, int axis = -1)
args
:
(Tensor grad_grad_x, Tensor grad_grad_y, Tensor grad_grad_out_grad, int axis = -1)
output
:
Tensor(grad_grad_x_grad), Tensor(grad_grad_y_grad)
output
:
Tensor(grad_grad_x_grad), Tensor(grad_grad_y_grad)
...
@@ -82,7 +82,7 @@
...
@@ -82,7 +82,7 @@
func
:
add_triple_grad
func
:
add_triple_grad
inplace
:
(grad_grad_out_grad -> grad_grad_x_grad)
inplace
:
(grad_grad_out_grad -> grad_grad_x_grad)
-
backward_
api
:
addmm_grad
-
backward_
op
:
addmm_grad
forward
:
addmm (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)
args
:
(Tensor input, Tensor x, Tensor y, Tensor out_grad, float alpha, float beta)
output
:
Tensor(input_grad), Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(input_grad), Tensor(x_grad), Tensor(y_grad)
...
@@ -92,7 +92,7 @@
...
@@ -92,7 +92,7 @@
kernel
:
kernel
:
func
:
addmm_grad
func
:
addmm_grad
-
backward_
api
:
affine_grid_grad
-
backward_
op
:
affine_grid_grad
forward
:
affine_grid (Tensor input, IntArray outputShape, bool use_cudnn=true, bool align_corners=true) -> Tensor(output)
forward
:
affine_grid (Tensor input, IntArray outputShape, bool use_cudnn=true, bool align_corners=true) -> Tensor(output)
args
:
(Tensor output_grad, IntArray outputShape, bool use_cudnn=true, bool align_corners=true)
args
:
(Tensor output_grad, IntArray outputShape, bool use_cudnn=true, bool align_corners=true)
output
:
Tensor(input_grad)
output
:
Tensor(input_grad)
...
@@ -104,7 +104,7 @@
...
@@ -104,7 +104,7 @@
param
:
[
output_grad
,
outputShape
,
align_corners
]
param
:
[
output_grad
,
outputShape
,
align_corners
]
use_gpudnn
:
use_cudnn
use_gpudnn
:
use_cudnn
-
backward_
api
:
amax_grad
-
backward_
op
:
amax_grad
forward
:
amax (Tensor x, int64_t[] dims={}, bool keep_dim=false) -> Tensor(out)
forward
:
amax (Tensor x, int64_t[] dims={}, bool keep_dim=false) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] dims={}, bool keep_dim=false, bool reduce_all=false)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] dims={}, bool keep_dim=false, bool reduce_all=false)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -114,7 +114,7 @@
...
@@ -114,7 +114,7 @@
kernel
:
kernel
:
func
:
amax_grad
func
:
amax_grad
-
backward_
api
:
amin_grad
-
backward_
op
:
amin_grad
forward
:
amin (Tensor x, int64_t[] dims={}, bool keep_dim=false) -> Tensor(out)
forward
:
amin (Tensor x, int64_t[] dims={}, bool keep_dim=false) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] dims={}, bool keep_dim=false, bool reduce_all=false)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] dims={}, bool keep_dim=false, bool reduce_all=false)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
kernel
:
kernel
:
func
:
amin_grad
func
:
amin_grad
-
backward_
api
:
angle_grad
-
backward_
op
:
angle_grad
forward
:
angle (Tensor x) -> Tensor(out)
forward
:
angle (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -136,7 +136,7 @@
...
@@ -136,7 +136,7 @@
data_transform
:
data_transform
:
skip_transform
:
out_grad
skip_transform
:
out_grad
-
backward_
api
:
argsort_grad
-
backward_
op
:
argsort_grad
forward
:
argsort (Tensor x, int axis, bool descending) -> Tensor(out), Tensor(indices)
forward
:
argsort (Tensor x, int axis, bool descending) -> Tensor(out), Tensor(indices)
args
:
(Tensor indices, Tensor x, Tensor out_grad, int axis, bool descending)
args
:
(Tensor indices, Tensor x, Tensor out_grad, int axis, bool descending)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -148,19 +148,19 @@
...
@@ -148,19 +148,19 @@
data_type
:
out_grad
data_type
:
out_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
as_complex_grad
-
backward_
op
:
as_complex_grad
forward
:
as_complex (Tensor x) -> Tensor(out)
forward
:
as_complex (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
as_real(out_grad)
invoke
:
as_real(out_grad)
-
backward_
api
:
as_real_grad
-
backward_
op
:
as_real_grad
forward
:
as_real (Tensor x) -> Tensor(out)
forward
:
as_real (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
as_complex(out_grad)
invoke
:
as_complex(out_grad)
-
backward_
api
:
asin_grad
-
backward_
op
:
asin_grad
forward
:
asin (Tensor x) -> Tensor(out)
forward
:
asin (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -171,7 +171,7 @@
...
@@ -171,7 +171,7 @@
func
:
asin_grad
func
:
asin_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
asinh_grad
-
backward_
op
:
asinh_grad
forward
:
asinh (Tensor x) -> Tensor(out)
forward
:
asinh (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -182,13 +182,13 @@
...
@@ -182,13 +182,13 @@
func
:
asinh_grad
func
:
asinh_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
assign_grad
-
backward_
op
:
assign_grad
forward
:
assign (Tensor x) -> Tensor(out)
forward
:
assign (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
assign(out_grad)
invoke
:
assign(out_grad)
-
backward_
api
:
assign_out__grad
-
backward_
op
:
assign_out__grad
forward
:
assign_out_ (Tensor x, Tensor output) -> Tensor(out)
forward
:
assign_out_ (Tensor x, Tensor output) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -198,7 +198,7 @@
...
@@ -198,7 +198,7 @@
func
:
assign
func
:
assign
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
atan_grad
-
backward_
op
:
atan_grad
forward
:
atan (Tensor x) -> Tensor(out)
forward
:
atan (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -209,7 +209,7 @@
...
@@ -209,7 +209,7 @@
func
:
atan_grad
func
:
atan_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
atanh_grad
-
backward_
op
:
atanh_grad
forward
:
atanh (Tensor x) -> Tensor(out)
forward
:
atanh (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -220,7 +220,7 @@
...
@@ -220,7 +220,7 @@
func
:
atanh_grad
func
:
atanh_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
batch_norm_double_grad
-
backward_
op
:
batch_norm_double_grad
forward
:
batch_norm_grad (Tensor x, Tensor scale, Tensor bias, Tensor out_mean, Tensor out_variance, Tensor saved_mean, Tensor saved_variance, Tensor reserve_space, Tensor grad_out, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu) -> Tensor(grad_x), Tensor(grad_scale), Tensor(grad_bias)
forward
:
batch_norm_grad (Tensor x, Tensor scale, Tensor bias, Tensor out_mean, Tensor out_variance, Tensor saved_mean, Tensor saved_variance, Tensor reserve_space, Tensor grad_out, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu) -> Tensor(grad_x), Tensor(grad_scale), Tensor(grad_bias)
args
:
(Tensor x, Tensor scale, Tensor out_mean, Tensor out_variance, Tensor saved_mean, Tensor saved_variance, Tensor grad_out, Tensor grad_x_grad, Tensor grad_scale_grad, Tensor grad_bias_grad, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu)
args
:
(Tensor x, Tensor scale, Tensor out_mean, Tensor out_variance, Tensor saved_mean, Tensor saved_variance, Tensor grad_out, Tensor grad_x_grad, Tensor grad_scale_grad, Tensor grad_bias_grad, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(grad_out_grad)
...
@@ -233,7 +233,7 @@
...
@@ -233,7 +233,7 @@
optional
:
out_mean, out_variance
optional
:
out_mean, out_variance
inplace
:
(grad_out -> grad_out_grad)
inplace
:
(grad_out -> grad_out_grad)
-
backward_
api
:
batch_norm_grad
-
backward_
op
:
batch_norm_grad
forward
:
batch_norm (Tensor x, Tensor scale, Tensor bias, Tensor mean, Tensor variance, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu) -> Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
forward
:
batch_norm (Tensor x, Tensor scale, Tensor bias, Tensor mean, Tensor variance, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu) -> Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor mean_out, Tensor variance_out, Tensor saved_mean, Tensor saved_variance, Tensor reserve_space, Tensor out_grad, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor mean_out, Tensor variance_out, Tensor saved_mean, Tensor saved_variance, Tensor reserve_space, Tensor out_grad, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
...
@@ -246,7 +246,7 @@
...
@@ -246,7 +246,7 @@
optional
:
mean_out, variance_out, reserve_space
optional
:
mean_out, variance_out, reserve_space
backward
:
batch_norm_double_grad
backward
:
batch_norm_double_grad
-
backward_
api
:
bce_loss_grad
-
backward_
op
:
bce_loss_grad
forward
:
bce_loss (Tensor input, Tensor label) -> Tensor(out)
forward
:
bce_loss (Tensor input, Tensor label) -> Tensor(out)
args
:
(Tensor input, Tensor label, Tensor out_grad)
args
:
(Tensor input, Tensor label, Tensor out_grad)
output
:
Tensor(input_grad)
output
:
Tensor(input_grad)
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
func
:
bce_loss_grad
func
:
bce_loss_grad
inplace
:
(out_grad -> input_grad)
inplace
:
(out_grad -> input_grad)
-
backward_
api
:
bicubic_interp_grad
-
backward_
op
:
bicubic_interp_grad
forward
:
bicubic_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
forward
:
bicubic_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -269,7 +269,7 @@
...
@@ -269,7 +269,7 @@
func
:
bicubic_interp_grad
func
:
bicubic_interp_grad
data_type
:
output_grad
data_type
:
output_grad
-
backward_
api
:
bilinear_interp_grad
-
backward_
op
:
bilinear_interp_grad
forward
:
bilinear_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
forward
:
bilinear_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -281,7 +281,7 @@
...
@@ -281,7 +281,7 @@
func
:
bilinear_interp_grad
func
:
bilinear_interp_grad
data_type
:
output_grad
data_type
:
output_grad
-
backward_
api
:
bilinear_tensor_product_grad
-
backward_
op
:
bilinear_tensor_product_grad
forward
:
bilinear_tensor_product (Tensor x, Tensor y, Tensor weight, Tensor bias) -> Tensor(out)
forward
:
bilinear_tensor_product (Tensor x, Tensor y, Tensor weight, Tensor bias) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor weight, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor weight, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(weight_grad), Tensor(bias_grad)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(weight_grad), Tensor(bias_grad)
...
@@ -290,7 +290,7 @@
...
@@ -290,7 +290,7 @@
kernel
:
kernel
:
func
:
bilinear_tensor_product_grad
func
:
bilinear_tensor_product_grad
-
backward_
api
:
bmm_grad
-
backward_
op
:
bmm_grad
forward
:
bmm (Tensor x, Tensor y) -> Tensor(out)
forward
:
bmm (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -299,7 +299,7 @@
...
@@ -299,7 +299,7 @@
kernel
:
kernel
:
func
:
bmm_grad
func
:
bmm_grad
-
backward_
api
:
brelu_grad
-
backward_
op
:
brelu_grad
forward
:
brelu (Tensor x, float t_min, float t_max) -> Tensor(out)
forward
:
brelu (Tensor x, float t_min, float t_max) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float t_min, float t_max)
args
:
(Tensor x, Tensor out_grad, float t_min, float t_max)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -310,7 +310,7 @@
...
@@ -310,7 +310,7 @@
func
:
brelu_grad
func
:
brelu_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
broadcast_tensors_grad
-
backward_
op
:
broadcast_tensors_grad
forward
:
broadcast_tensors (Tensor[] x) -> Tensor[](out)
forward
:
broadcast_tensors (Tensor[] x) -> Tensor[](out)
args
:
(Tensor[] x, Tensor[] out_grad)
args
:
(Tensor[] x, Tensor[] out_grad)
output
:
Tensor[](x_grad)
output
:
Tensor[](x_grad)
...
@@ -322,7 +322,7 @@
...
@@ -322,7 +322,7 @@
param
:
[
out_grad
]
param
:
[
out_grad
]
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
cast_grad
-
backward_
op
:
cast_grad
forward
:
cast (Tensor x, DataType out_dtype) -> Tensor(out)
forward
:
cast (Tensor x, DataType out_dtype) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -334,7 +334,7 @@
...
@@ -334,7 +334,7 @@
data_type
:
out_grad
data_type
:
out_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
ceil_grad
-
backward_
op
:
ceil_grad
forward
:
ceil(Tensor x) -> Tensor(out)
forward
:
ceil(Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -345,7 +345,7 @@
...
@@ -345,7 +345,7 @@
func
:
ceil_grad
func
:
ceil_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
celu_double_grad
-
backward_
op
:
celu_double_grad
forward
:
celu_grad(Tensor x, Tensor grad_out, float alpha) -> Tensor(grad_x)
forward
:
celu_grad(Tensor x, Tensor grad_out, float alpha) -> Tensor(grad_x)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad, float alpha)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad, float alpha)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
...
@@ -356,7 +356,7 @@
...
@@ -356,7 +356,7 @@
func
:
celu_double_grad
func
:
celu_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
celu_grad
-
backward_
op
:
celu_grad
forward
:
celu(Tensor x, float alpha) -> Tensor(out)
forward
:
celu(Tensor x, float alpha) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float alpha)
args
:
(Tensor x, Tensor out_grad, float alpha)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -368,7 +368,7 @@
...
@@ -368,7 +368,7 @@
backward
:
celu_double_grad
backward
:
celu_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
clip_double_grad
-
backward_
op
:
clip_double_grad
forward
:
clip_grad (Tensor x, Tensor grad_out, Scalar min = 0., Scalar max = 0.) -> Tensor(grad_x)
forward
:
clip_grad (Tensor x, Tensor grad_out, Scalar min = 0., Scalar max = 0.) -> Tensor(grad_x)
args
:
(Tensor x, Tensor grad_x_grad, Scalar min = 0., Scalar max = 0.)
args
:
(Tensor x, Tensor grad_x_grad, Scalar min = 0., Scalar max = 0.)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -378,7 +378,7 @@
...
@@ -378,7 +378,7 @@
kernel
:
kernel
:
func
:
clip_grad
func
:
clip_grad
-
backward_
api
:
clip_grad
-
backward_
op
:
clip_grad
forward
:
clip (Tensor x, Scalar min, Scalar max) -> Tensor(out)
forward
:
clip (Tensor x, Scalar min, Scalar max) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, Scalar min = 0., Scalar max = 0.)
args
:
(Tensor x, Tensor out_grad, Scalar min = 0., Scalar max = 0.)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -390,7 +390,7 @@
...
@@ -390,7 +390,7 @@
backward
:
clip_double_grad
backward
:
clip_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
complex_grad
-
backward_
op
:
complex_grad
forward
:
complex (Tensor x, Tensor y) -> Tensor(out)
forward
:
complex (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -400,13 +400,13 @@
...
@@ -400,13 +400,13 @@
func
:
complex_grad
func
:
complex_grad
data_type
:
x
data_type
:
x
-
backward_
api
:
concat_double_grad
-
backward_
op
:
concat_double_grad
forward
:
concat_grad (Tensor[] x, Tensor grad_out, Scalar axis) -> Tensor[](grad_x)
forward
:
concat_grad (Tensor[] x, Tensor grad_out, Scalar axis) -> Tensor[](grad_x)
args
:
(Tensor[] grad_x_grad, Scalar axis = 0)
args
:
(Tensor[] grad_x_grad, Scalar axis = 0)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
concat(grad_x_grad, axis)
invoke
:
concat(grad_x_grad, axis)
-
backward_
api
:
concat_grad
-
backward_
op
:
concat_grad
forward
:
concat (Tensor[] x, Scalar axis) -> Tensor(out)
forward
:
concat (Tensor[] x, Scalar axis) -> Tensor(out)
args
:
(Tensor[] x, Tensor out_grad, Scalar axis = 0)
args
:
(Tensor[] x, Tensor out_grad, Scalar axis = 0)
output
:
Tensor[](x_grad){x.size()}
output
:
Tensor[](x_grad){x.size()}
...
@@ -418,7 +418,7 @@
...
@@ -418,7 +418,7 @@
no_need_buffer
:
x
no_need_buffer
:
x
backward
:
concat_double_grad
backward
:
concat_double_grad
-
backward_
api
:
conj_grad
-
backward_
op
:
conj_grad
forward
:
conj (Tensor x) -> Tensor(out)
forward
:
conj (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -428,7 +428,7 @@
...
@@ -428,7 +428,7 @@
kernel
:
kernel
:
func
:
conj
func
:
conj
-
backward_
api
:
conv2d_grad
-
backward_
op
:
conv2d_grad
forward
:
conv2d (Tensor input, Tensor filter, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(out)
forward
:
conv2d (Tensor input, Tensor filter, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(out)
args
:
(Tensor input, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
args
:
(Tensor input, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
output
:
Tensor(input_grad), Tensor(filter_grad)
output
:
Tensor(input_grad), Tensor(filter_grad)
...
@@ -440,7 +440,7 @@
...
@@ -440,7 +440,7 @@
use_gpudnn
:
true
use_gpudnn
:
true
backward
:
conv2d_grad_grad
backward
:
conv2d_grad_grad
-
backward_
api
:
conv2d_grad_grad
-
backward_
op
:
conv2d_grad_grad
forward
:
conv2d_grad (Tensor input, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(grad_input), Tensor(grad_filter)
forward
:
conv2d_grad (Tensor input, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(grad_input), Tensor(grad_filter)
args
:
(Tensor input, Tensor filter, Tensor grad_out, Tensor grad_input_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
args
:
(Tensor input, Tensor filter, Tensor grad_out, Tensor grad_input_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
output
:
Tensor(input_grad), Tensor(filter_grad), Tensor(grad_out_grad)
output
:
Tensor(input_grad), Tensor(filter_grad), Tensor(grad_out_grad)
...
@@ -452,7 +452,7 @@
...
@@ -452,7 +452,7 @@
use_gpudnn
:
true
use_gpudnn
:
true
optional
:
grad_input_grad, grad_filter_grad
optional
:
grad_input_grad, grad_filter_grad
-
backward_
api
:
conv2d_transpose_double_grad
-
backward_
op
:
conv2d_transpose_double_grad
forward
:
conv2d_transpose_grad(Tensor x, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format) -> Tensor(grad_x), Tensor(grad_filter)
forward
:
conv2d_transpose_grad(Tensor x, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format) -> Tensor(grad_x), Tensor(grad_filter)
args
:
(Tensor x, Tensor filter, Tensor grad_out, Tensor grad_x_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
args
:
(Tensor x, Tensor filter, Tensor grad_out, Tensor grad_x_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
output
:
Tensor(x_grad), Tensor(filter_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(filter_grad), Tensor(grad_out_grad)
...
@@ -462,7 +462,7 @@
...
@@ -462,7 +462,7 @@
func
:
conv2d_transpose_grad_grad
func
:
conv2d_transpose_grad_grad
use_gpudnn
:
true
use_gpudnn
:
true
-
backward_
api
:
conv2d_transpose_grad
-
backward_
op
:
conv2d_transpose_grad
forward
:
conv2d_transpose(Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format) -> Tensor(out)
forward
:
conv2d_transpose(Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format) -> Tensor(out)
args
:
(Tensor x, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
args
:
(Tensor x, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
output
:
Tensor(x_grad), Tensor(filter_grad)
output
:
Tensor(x_grad), Tensor(filter_grad)
...
@@ -473,7 +473,7 @@
...
@@ -473,7 +473,7 @@
use_gpudnn
:
true
use_gpudnn
:
true
backward
:
conv2d_transpose_double_grad
backward
:
conv2d_transpose_double_grad
-
backward_
api
:
conv3d_grad
-
backward_
op
:
conv3d_grad
forward
:
conv3d (Tensor input, Tensor filter, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(out)
forward
:
conv3d (Tensor input, Tensor filter, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(out)
args
:
(Tensor input, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
args
:
(Tensor input, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
output
:
Tensor(input_grad), Tensor(filter_grad)
output
:
Tensor(input_grad), Tensor(filter_grad)
...
@@ -485,7 +485,7 @@
...
@@ -485,7 +485,7 @@
use_gpudnn
:
true
use_gpudnn
:
true
backward
:
conv3d_grad_grad
backward
:
conv3d_grad_grad
-
backward_
api
:
conv3d_grad_grad
-
backward_
op
:
conv3d_grad_grad
forward
:
conv3d_grad (Tensor input, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(grad_input), Tensor(grad_filter)
forward
:
conv3d_grad (Tensor input, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search) -> Tensor(grad_input), Tensor(grad_filter)
args
:
(Tensor input, Tensor filter, Tensor grad_out, Tensor grad_input_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
args
:
(Tensor input, Tensor filter, Tensor grad_out, Tensor grad_input_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search)
output
:
Tensor(input_grad), Tensor(filter_grad), Tensor(grad_out_grad)
output
:
Tensor(input_grad), Tensor(filter_grad), Tensor(grad_out_grad)
...
@@ -497,7 +497,7 @@
...
@@ -497,7 +497,7 @@
use_gpudnn
:
true
use_gpudnn
:
true
optional
:
grad_input_grad, grad_filter_grad
optional
:
grad_input_grad, grad_filter_grad
-
backward_
api
:
conv3d_transpose_grad
-
backward_
op
:
conv3d_transpose_grad
forward
:
conv3d_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)
forward
:
conv3d_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)
args
:
(Tensor x, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, int[] output_padding, int[] output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
args
:
(Tensor x, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, int[] output_padding, int[] output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
output
:
Tensor(x_grad), Tensor(filter_grad)
output
:
Tensor(x_grad), Tensor(filter_grad)
...
@@ -507,7 +507,7 @@
...
@@ -507,7 +507,7 @@
func
:
conv3d_transpose_grad
func
:
conv3d_transpose_grad
use_gpudnn
:
true
use_gpudnn
:
true
-
backward_
api
:
cos_grad
-
backward_
op
:
cos_grad
forward
:
cos (Tensor x) -> Tensor(out)
forward
:
cos (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -518,7 +518,7 @@
...
@@ -518,7 +518,7 @@
func
:
cos_grad
func
:
cos_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
cosh_grad
-
backward_
op
:
cosh_grad
forward
:
cosh (Tensor x) -> Tensor(out)
forward
:
cosh (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -529,7 +529,7 @@
...
@@ -529,7 +529,7 @@
func
:
cosh_grad
func
:
cosh_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
crop_tensor_grad
-
backward_
op
:
crop_tensor_grad
forward
:
crop_tensor (Tensor x, IntArray shape, IntArray offsets) -> Tensor(out)
forward
:
crop_tensor (Tensor x, IntArray shape, IntArray offsets) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, IntArray offsets)
args
:
(Tensor x, Tensor out_grad, IntArray offsets)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -539,7 +539,7 @@
...
@@ -539,7 +539,7 @@
func
:
crop_tensor_grad
func
:
crop_tensor_grad
data_type
:
x
data_type
:
x
-
backward_
api
:
cross_entropy_with_softmax_grad
-
backward_
op
:
cross_entropy_with_softmax_grad
forward
:
cross_entropy_with_softmax (Tensor input, Tensor label, bool soft_label, bool use_softmax, bool numeric_stable_mode, int ignore_index, int axis) -> Tensor(softmax), Tensor(loss)
forward
:
cross_entropy_with_softmax (Tensor input, Tensor label, bool soft_label, bool use_softmax, bool numeric_stable_mode, int ignore_index, int axis) -> Tensor(softmax), Tensor(loss)
args
:
(Tensor label, Tensor softmax, Tensor loss_grad, bool soft_label, bool use_softmax, bool numeric_stable_mode, int ignore_index, int axis)
args
:
(Tensor label, Tensor softmax, Tensor loss_grad, bool soft_label, bool use_softmax, bool numeric_stable_mode, int ignore_index, int axis)
output
:
Tensor(input_grad)
output
:
Tensor(input_grad)
...
@@ -550,7 +550,7 @@
...
@@ -550,7 +550,7 @@
data_type
:
softmax
data_type
:
softmax
inplace
:
(softmax -> input_grad)
inplace
:
(softmax -> input_grad)
-
backward_
api
:
cumprod_grad
-
backward_
op
:
cumprod_grad
forward
:
cumprod (Tensor x, int dim) -> Tensor(out)
forward
:
cumprod (Tensor x, int dim) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, int dim)
args
:
(Tensor x, Tensor out, Tensor out_grad, int dim)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -560,13 +560,13 @@
...
@@ -560,13 +560,13 @@
kernel
:
kernel
:
func
:
cumprod_grad
func
:
cumprod_grad
-
backward_
api
:
cumsum_grad
-
backward_
op
:
cumsum_grad
forward
:
cumsum(Tensor x, Scalar axis, bool flatten, bool exclusive, bool reverse) -> Tensor(out)
forward
:
cumsum(Tensor x, Scalar axis, bool flatten, bool exclusive, bool reverse) -> Tensor(out)
args
:
(Tensor out_grad, Scalar axis, bool flatten, bool exclusive, bool reverse)
args
:
(Tensor out_grad, Scalar axis, bool flatten, bool exclusive, bool reverse)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
cumsum(out_grad, axis, flatten, exclusive, !reverse)
invoke
:
cumsum(out_grad, axis, flatten, exclusive, !reverse)
-
backward_
api
:
deformable_conv_grad
-
backward_
op
:
deformable_conv_grad
forward
:
deformable_conv(Tensor x, Tensor offset, Tensor filter, Tensor mask, int[] strides, int[] paddings, int[] dilations, int deformable_groups, int groups, int im2col_step) -> Tensor(out)
forward
:
deformable_conv(Tensor x, Tensor offset, Tensor filter, Tensor mask, int[] strides, int[] paddings, int[] dilations, int deformable_groups, int groups, int im2col_step) -> Tensor(out)
args
:
(Tensor x, Tensor offset, Tensor filter, Tensor mask, Tensor out_grad, int[] strides, int[] paddings, int[] dilations, int deformable_groups, int groups, int im2col_step)
args
:
(Tensor x, Tensor offset, Tensor filter, Tensor mask, Tensor out_grad, int[] strides, int[] paddings, int[] dilations, int deformable_groups, int groups, int im2col_step)
output
:
Tensor(x_grad), Tensor(offset_grad), Tensor(filter_grad), Tensor(mask_grad)
output
:
Tensor(x_grad), Tensor(offset_grad), Tensor(filter_grad), Tensor(mask_grad)
...
@@ -577,7 +577,7 @@
...
@@ -577,7 +577,7 @@
data_type
:
x
data_type
:
x
optional
:
mask
optional
:
mask
-
backward_
api
:
depthwise_conv2d_grad
-
backward_
op
:
depthwise_conv2d_grad
forward
:
depthwise_conv2d (Tensor input, Tensor filter, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu, bool use_gpudnn) -> Tensor(out)
forward
:
depthwise_conv2d (Tensor input, Tensor filter, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu, bool use_gpudnn) -> Tensor(out)
args
:
(Tensor input, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu, bool use_gpudnn)
args
:
(Tensor input, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu, bool use_gpudnn)
output
:
Tensor(input_grad), Tensor(filter_grad)
output
:
Tensor(input_grad), Tensor(filter_grad)
...
@@ -590,7 +590,7 @@
...
@@ -590,7 +590,7 @@
use_gpudnn
:
use_gpudnn
use_gpudnn
:
use_gpudnn
backward
:
depthwise_conv2d_grad_grad
backward
:
depthwise_conv2d_grad_grad
-
backward_
api
:
depthwise_conv2d_grad_grad
-
backward_
op
:
depthwise_conv2d_grad_grad
forward
:
depthwise_conv2d_grad (Tensor input, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu, bool use_gpudnn) -> Tensor(grad_input), Tensor(grad_filter)
forward
:
depthwise_conv2d_grad (Tensor input, Tensor filter, Tensor grad_out, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu, bool use_gpudnn) -> Tensor(grad_input), Tensor(grad_filter)
args
:
(Tensor input, Tensor filter, Tensor grad_out, Tensor grad_input_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu)
args
:
(Tensor input, Tensor filter, Tensor grad_out, Tensor grad_input_grad, Tensor grad_filter_grad, int[] strides, int[] paddings, str paddding_algorithm, int groups, int[] dilations, str data_format, bool use_addto, int workspace_size_MB, bool exhaustive_search, bool fuse_relu)
output
:
Tensor(input_grad), Tensor(filter_grad), Tensor(grad_out_grad)
output
:
Tensor(input_grad), Tensor(filter_grad), Tensor(grad_out_grad)
...
@@ -601,7 +601,7 @@
...
@@ -601,7 +601,7 @@
func
:
depthwise_conv2d_grad_grad
func
:
depthwise_conv2d_grad_grad
optional
:
grad_input_grad, grad_filter_grad
optional
:
grad_input_grad, grad_filter_grad
-
backward_
api
:
depthwise_conv2d_transpose_grad
-
backward_
op
:
depthwise_conv2d_transpose_grad
forward
:
depthwise_conv2d_transpose(Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format) -> Tensor(out)
forward
:
depthwise_conv2d_transpose(Tensor x, Tensor filter, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format) -> Tensor(out)
args
:
(Tensor x, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
args
:
(Tensor x, Tensor filter, Tensor out_grad, int[] strides, int[] paddings, int[] output_padding, IntArray output_size, str padding_algorithm, int groups, int[] dilations, str data_format)
output
:
Tensor(x_grad), Tensor(filter_grad)
output
:
Tensor(x_grad), Tensor(filter_grad)
...
@@ -610,7 +610,7 @@
...
@@ -610,7 +610,7 @@
kernel
:
kernel
:
func
:
depthwise_conv2d_transpose_grad
func
:
depthwise_conv2d_transpose_grad
-
backward_
api
:
det_grad
-
backward_
op
:
det_grad
forward
:
det (Tensor x) -> Tensor(out)
forward
:
det (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad)
args
:
(Tensor x, Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -620,7 +620,7 @@
...
@@ -620,7 +620,7 @@
kernel
:
kernel
:
func
:
determinant_grad
func
:
determinant_grad
-
backward_
api
:
divide_double_grad
-
backward_
op
:
divide_double_grad
forward
:
divide_grad (Tensor x, Tensor y, Tensor out, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
forward
:
divide_grad (Tensor x, Tensor y, Tensor out, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
args
:
(Tensor y, Tensor out, Tensor grad_x, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
args
:
(Tensor y, Tensor out, Tensor grad_x, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
output
:
Tensor(y_grad), Tensor(out_grad), Tensor(grad_out_grad)
output
:
Tensor(y_grad), Tensor(out_grad), Tensor(grad_out_grad)
...
@@ -633,7 +633,7 @@
...
@@ -633,7 +633,7 @@
optional
:
grad_x_grad, grad_y_grad
optional
:
grad_x_grad, grad_y_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
divide_grad
-
backward_
op
:
divide_grad
forward
:
divide (Tensor x, Tensor y) -> Tensor(out)
forward
:
divide (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, int axis = -1)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, int axis = -1)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -644,7 +644,7 @@
...
@@ -644,7 +644,7 @@
func
:
divide_grad
func
:
divide_grad
backward
:
divide_double_grad
backward
:
divide_double_grad
-
backward_
api
:
dropout_grad
-
backward_
op
:
dropout_grad
forward
:
dropout (Tensor x, Tensor seed_tensor, Scalar p, bool is_test, str mode, int seed, bool fix_seed) -> Tensor(out), Tensor(mask)
forward
:
dropout (Tensor x, Tensor seed_tensor, Scalar p, bool is_test, str mode, int seed, bool fix_seed) -> Tensor(out), Tensor(mask)
args
:
(Tensor mask, Tensor out_grad, Scalar p, bool is_test, str mode)
args
:
(Tensor mask, Tensor out_grad, Scalar p, bool is_test, str mode)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -654,7 +654,7 @@
...
@@ -654,7 +654,7 @@
kernel
:
kernel
:
func
:
dropout_grad
func
:
dropout_grad
-
backward_
api
:
eig_grad
-
backward_
op
:
eig_grad
forward
:
eig (Tensor x) -> Tensor(out_w), Tensor(out_v)
forward
:
eig (Tensor x) -> Tensor(out_w), Tensor(out_v)
args
:
(Tensor out_w, Tensor out_v, Tensor out_w_grad, Tensor out_v_grad)
args
:
(Tensor out_w, Tensor out_v, Tensor out_w_grad, Tensor out_v_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -667,7 +667,7 @@
...
@@ -667,7 +667,7 @@
data_transform
:
data_transform
:
skip_transform
:
out_w, out_w_grad
skip_transform
:
out_w, out_w_grad
-
backward_
api
:
eigh_grad
-
backward_
op
:
eigh_grad
forward
:
eigh (Tensor x, str uplo) -> Tensor(out_w), Tensor(out_v)
forward
:
eigh (Tensor x, str uplo) -> Tensor(out_w), Tensor(out_v)
args
:
(Tensor out_w, Tensor out_v, Tensor out_w_grad, Tensor out_v_grad)
args
:
(Tensor out_w, Tensor out_v, Tensor out_w_grad, Tensor out_v_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -680,7 +680,7 @@
...
@@ -680,7 +680,7 @@
data_transform
:
data_transform
:
skip_transform
:
out_w, out_w_grad
skip_transform
:
out_w, out_w_grad
-
backward_
api
:
eigvalsh_grad
-
backward_
op
:
eigvalsh_grad
forward
:
eigvalsh (Tensor x, str uplo, bool is_test) -> Tensor(eigenvalues), Tensor(eigenvectors)
forward
:
eigvalsh (Tensor x, str uplo, bool is_test) -> Tensor(eigenvalues), Tensor(eigenvectors)
args
:
(Tensor eigenvectors, Tensor eigenvalues_grad, str uplo, bool is_test)
args
:
(Tensor eigenvectors, Tensor eigenvalues_grad, str uplo, bool is_test)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -692,7 +692,7 @@
...
@@ -692,7 +692,7 @@
data_transform
:
data_transform
:
skip_transform
:
eigenvalues_grad
skip_transform
:
eigenvalues_grad
-
backward_
api
:
einsum_grad
-
backward_
op
:
einsum_grad
forward
:
einsum (Tensor[] x, str equation) -> Tensor(out), Tensor[](inner_cache), Tensor[](x_shape)
forward
:
einsum (Tensor[] x, str equation) -> Tensor(out), Tensor[](inner_cache), Tensor[](x_shape)
args
:
(Tensor[] x_shape, Tensor[] inner_cache, Tensor out_grad, str equation)
args
:
(Tensor[] x_shape, Tensor[] inner_cache, Tensor out_grad, str equation)
output
:
Tensor[](x_grad){x.size()}
output
:
Tensor[](x_grad){x.size()}
...
@@ -702,7 +702,7 @@
...
@@ -702,7 +702,7 @@
kernel
:
kernel
:
func
:
einsum_grad
func
:
einsum_grad
-
backward_
api
:
elementwise_pow_grad
-
backward_
op
:
elementwise_pow_grad
forward
:
elementwise_pow(Tensor x, Tensor y) -> Tensor(out)
forward
:
elementwise_pow(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis=-1)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis=-1)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -712,7 +712,7 @@
...
@@ -712,7 +712,7 @@
kernel
:
kernel
:
func
:
elementwise_pow_grad
func
:
elementwise_pow_grad
-
backward_
api
:
elu_double_grad
-
backward_
op
:
elu_double_grad
forward
:
elu_grad (Tensor x, Tensor out, Tensor grad_out, float alpha)-> Tensor(grad_x)
forward
:
elu_grad (Tensor x, Tensor out, Tensor grad_out, float alpha)-> Tensor(grad_x)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad, float alpha)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad, float alpha)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
...
@@ -723,7 +723,7 @@
...
@@ -723,7 +723,7 @@
func
:
elu_double_grad
func
:
elu_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
elu_grad
-
backward_
op
:
elu_grad
forward
:
elu (Tensor x, float alpha) -> Tensor(out)
forward
:
elu (Tensor x, float alpha) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, float alpha)
args
:
(Tensor x, Tensor out, Tensor out_grad, float alpha)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -735,13 +735,13 @@
...
@@ -735,13 +735,13 @@
backward
:
elu_double_grad
backward
:
elu_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
embedding_grad
-
backward_
op
:
embedding_grad
forward
:
embedding (Tensor x, Tensor weight, int64_t padding_idx=-1, bool sparse=false) -> Tensor(out)
forward
:
embedding (Tensor x, Tensor weight, int64_t padding_idx=-1, bool sparse=false) -> Tensor(out)
args
:
(Tensor x, Tensor weight, Tensor out_grad, int64_t padding_idx=-1, bool sparse=false)
args
:
(Tensor x, Tensor weight, Tensor out_grad, int64_t padding_idx=-1, bool sparse=false)
output
:
Tensor(weight_grad)
output
:
Tensor(weight_grad)
invoke
:
embedding_grad_impl(x, weight, out_grad, padding_idx, sparse, weight_grad)
invoke
:
embedding_grad_impl(x, weight, out_grad, padding_idx, sparse, weight_grad)
-
backward_
api
:
exp_grad
-
backward_
op
:
exp_grad
forward
:
exp (Tensor x) -> Tensor(out)
forward
:
exp (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -752,7 +752,7 @@
...
@@ -752,7 +752,7 @@
func
:
exp_grad
func
:
exp_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
expand_as_grad
-
backward_
op
:
expand_as_grad
forward
:
expand_as (Tensor x, Tensor y, int[] target_shape) -> Tensor(out)
forward
:
expand_as (Tensor x, Tensor y, int[] target_shape) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int[] target_shape)
args
:
(Tensor x, Tensor out_grad, int[] target_shape)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -763,13 +763,13 @@
...
@@ -763,13 +763,13 @@
func
:
expand_as_grad
func
:
expand_as_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
expand_double_grad
-
backward_
op
:
expand_double_grad
forward
:
expand_grad (Tensor x, Tensor grad_out, IntArray shape) -> Tensor(grad_x)
forward
:
expand_grad (Tensor x, Tensor grad_out, IntArray shape) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray shape)
args
:
(Tensor grad_x_grad, IntArray shape)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
expand(grad_x_grad, shape)
invoke
:
expand(grad_x_grad, shape)
-
backward_
api
:
expand_grad
-
backward_
op
:
expand_grad
forward
:
expand (Tensor x, IntArray shape) -> Tensor(out)
forward
:
expand (Tensor x, IntArray shape) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, IntArray shape)
args
:
(Tensor x, Tensor out_grad, IntArray shape)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -781,7 +781,7 @@
...
@@ -781,7 +781,7 @@
no_need_buffer
:
x
no_need_buffer
:
x
backward
:
expand_double_grad
backward
:
expand_double_grad
-
backward_
api
:
expm1_grad
-
backward_
op
:
expm1_grad
forward
:
expm1 (Tensor x) -> Tensor(out)
forward
:
expm1 (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -792,7 +792,7 @@
...
@@ -792,7 +792,7 @@
func
:
expm1_grad
func
:
expm1_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
exponential__grad
-
backward_
op
:
exponential__grad
forward
:
exponential_ (Tensor x, float lambda) -> Tensor(out)
forward
:
exponential_ (Tensor x, float lambda) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -800,7 +800,7 @@
...
@@ -800,7 +800,7 @@
func
:
UnchangedInferMeta
func
:
UnchangedInferMeta
invoke
:
zeros_like(out_grad)
invoke
:
zeros_like(out_grad)
-
backward_
api
:
fill_diagonal_grad
-
backward_
op
:
fill_diagonal_grad
forward
:
fill_diagonal (Tensor x, float value, int offset, bool wrap) -> Tensor(out)
forward
:
fill_diagonal (Tensor x, float value, int offset, bool wrap) -> Tensor(out)
args
:
(Tensor out_grad, float value, int offset, bool wrap)
args
:
(Tensor out_grad, float value, int offset, bool wrap)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -809,7 +809,7 @@
...
@@ -809,7 +809,7 @@
kernel
:
kernel
:
func
:
fill_diagonal_grad
func
:
fill_diagonal_grad
-
backward_
api
:
fill_diagonal_tensor_grad
-
backward_
op
:
fill_diagonal_tensor_grad
forward
:
fill_diagonal_tensor (Tensor x, Tensor y, int64_t offset, int dim1, int dim2) -> Tensor(out)
forward
:
fill_diagonal_tensor (Tensor x, Tensor y, int64_t offset, int dim1, int dim2) -> Tensor(out)
args
:
(Tensor out_grad, int64_t offset, int dim1, int dim2)
args
:
(Tensor out_grad, int64_t offset, int dim1, int dim2)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -819,7 +819,7 @@
...
@@ -819,7 +819,7 @@
func
:
fill_diagonal_tensor_grad
func
:
fill_diagonal_tensor_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
fill_grad
-
backward_
op
:
fill_grad
forward
:
fill (Tensor x, Scalar value) -> Tensor(out)
forward
:
fill (Tensor x, Scalar value) -> Tensor(out)
args
:
(Tensor out_grad, Scalar value)
args
:
(Tensor out_grad, Scalar value)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -830,7 +830,7 @@
...
@@ -830,7 +830,7 @@
func
:
fill_grad
func
:
fill_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
flatten_grad
-
backward_
op
:
flatten_grad
forward
:
flatten(Tensor x, int start_axis, int stop_axis) -> Tensor(out), Tensor(xshape)
forward
:
flatten(Tensor x, int start_axis, int stop_axis) -> Tensor(out), Tensor(xshape)
args
:
(Tensor xshape, Tensor out_grad)
args
:
(Tensor xshape, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -844,13 +844,13 @@
...
@@ -844,13 +844,13 @@
layout
:
out_grad
layout
:
out_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
flip_grad
-
backward_
op
:
flip_grad
forward
:
flip (Tensor x, int[] axis) -> Tensor(out)
forward
:
flip (Tensor x, int[] axis) -> Tensor(out)
args
:
(Tensor out_grad, int[] axis)
args
:
(Tensor out_grad, int[] axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
flip(out_grad, axis)
invoke
:
flip(out_grad, axis)
-
backward_
api
:
floor_grad
-
backward_
op
:
floor_grad
forward
:
floor(Tensor x) -> Tensor(out)
forward
:
floor(Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -861,7 +861,7 @@
...
@@ -861,7 +861,7 @@
func
:
floor_grad
func
:
floor_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
fmax_grad
-
backward_
op
:
fmax_grad
forward
:
fmax(Tensor x, Tensor y, int axis) -> Tensor(out)
forward
:
fmax(Tensor x, Tensor y, int axis) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -871,7 +871,7 @@
...
@@ -871,7 +871,7 @@
kernel
:
kernel
:
func
:
fmax_grad
func
:
fmax_grad
-
backward_
api
:
fmin_grad
-
backward_
op
:
fmin_grad
forward
:
fmin(Tensor x, Tensor y, int axis) -> Tensor(out)
forward
:
fmin(Tensor x, Tensor y, int axis) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -881,7 +881,7 @@
...
@@ -881,7 +881,7 @@
kernel
:
kernel
:
func
:
fmin_grad
func
:
fmin_grad
-
backward_
api
:
frame_grad
-
backward_
op
:
frame_grad
forward
:
frame(Tensor x, int frame_length, int hop_length, int axis) -> Tensor(out)
forward
:
frame(Tensor x, int frame_length, int hop_length, int axis) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int frame_length, int hop_length, int axis)
args
:
(Tensor x, Tensor out_grad, int frame_length, int hop_length, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -891,7 +891,7 @@
...
@@ -891,7 +891,7 @@
kernel
:
kernel
:
func
:
frame_grad
func
:
frame_grad
-
backward_
api
:
frobenius_norm_grad
-
backward_
op
:
frobenius_norm_grad
forward
:
frobenius_norm(Tensor x, int64_t[] axis, bool keep_dim, bool reduce_all) -> Tensor(out)
forward
:
frobenius_norm(Tensor x, int64_t[] axis, bool keep_dim, bool reduce_all) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] axis, bool keep_dim, bool reduce_all)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] axis, bool keep_dim, bool reduce_all)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -901,7 +901,7 @@
...
@@ -901,7 +901,7 @@
kernel
:
kernel
:
func
:
frobenius_norm_grad
func
:
frobenius_norm_grad
-
backward_
api
:
gather_grad
-
backward_
op
:
gather_grad
forward
:
gather(Tensor x, Tensor index, Scalar axis=0) -> Tensor(out)
forward
:
gather(Tensor x, Tensor index, Scalar axis=0) -> Tensor(out)
args
:
(Tensor x, Tensor index, Tensor out_grad, Scalar axis=0, bool overwrite=false)
args
:
(Tensor x, Tensor index, Tensor out_grad, Scalar axis=0, bool overwrite=false)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -913,7 +913,7 @@
...
@@ -913,7 +913,7 @@
func
:
gather_grad
func
:
gather_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
gather_nd_grad
-
backward_
op
:
gather_nd_grad
forward
:
gather_nd (Tensor x, Tensor index) -> Tensor(out)
forward
:
gather_nd (Tensor x, Tensor index) -> Tensor(out)
args
:
(Tensor x, Tensor index, Tensor out_grad)
args
:
(Tensor x, Tensor index, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -924,7 +924,7 @@
...
@@ -924,7 +924,7 @@
func
:
gather_nd_grad
func
:
gather_nd_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
gelu_grad
-
backward_
op
:
gelu_grad
forward
:
gelu(Tensor x, bool approximate) -> Tensor(out)
forward
:
gelu(Tensor x, bool approximate) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, bool approximate)
args
:
(Tensor x, Tensor out_grad, bool approximate)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -934,7 +934,7 @@
...
@@ -934,7 +934,7 @@
kernel
:
kernel
:
func
:
gelu_grad
func
:
gelu_grad
-
backward_
api
:
graph_send_recv_grad
-
backward_
op
:
graph_send_recv_grad
forward
:
graph_send_recv (Tensor x, Tensor src_index, Tensor dst_index, str reduce_op = "SUM", IntArray out_size = {0}) -> Tensor(out), Tensor(dst_count)
forward
:
graph_send_recv (Tensor x, Tensor src_index, Tensor dst_index, str reduce_op = "SUM", IntArray out_size = {0}) -> Tensor(out), Tensor(dst_count)
args
:
(Tensor x, Tensor src_index, Tensor dst_index, Tensor out, Tensor dst_count, Tensor out_grad, str reduce_op = "SUM")
args
:
(Tensor x, Tensor src_index, Tensor dst_index, Tensor out, Tensor dst_count, Tensor out_grad, str reduce_op = "SUM")
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -946,7 +946,7 @@
...
@@ -946,7 +946,7 @@
data_type
:
out_grad
data_type
:
out_grad
optional
:
out, dst_count
optional
:
out, dst_count
-
backward_
api
:
graph_send_ue_recv_grad
-
backward_
op
:
graph_send_ue_recv_grad
forward
:
graph_send_ue_recv (Tensor x, Tensor y, Tensor src_index, Tensor dst_index, str message_op, str reduce_op, IntArray out_size) -> Tensor(out), Tensor(dst_count)
forward
:
graph_send_ue_recv (Tensor x, Tensor y, Tensor src_index, Tensor dst_index, str message_op, str reduce_op, IntArray out_size) -> Tensor(out), Tensor(dst_count)
args
:
(Tensor x, Tensor y, Tensor src_index, Tensor dst_index, Tensor out, Tensor dst_count, Tensor out_grad, str message_op, str reduce_op)
args
:
(Tensor x, Tensor y, Tensor src_index, Tensor dst_index, Tensor out, Tensor dst_count, Tensor out_grad, str message_op, str reduce_op)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -958,7 +958,7 @@
...
@@ -958,7 +958,7 @@
data_type
:
out_grad
data_type
:
out_grad
optional
:
out, dst_count
optional
:
out, dst_count
-
backward_
api
:
grid_sample_grad
-
backward_
op
:
grid_sample_grad
forward
:
grid_sample (Tensor x, Tensor grid, str mode, str padding_mode, bool align_corners) -> Tensor(out)
forward
:
grid_sample (Tensor x, Tensor grid, str mode, str padding_mode, bool align_corners) -> Tensor(out)
args
:
(Tensor x, Tensor grid, Tensor out_grad, str mode, str padding_mode, bool align_corners)
args
:
(Tensor x, Tensor grid, Tensor out_grad, str mode, str padding_mode, bool align_corners)
output
:
Tensor(x_grad), Tensor(grid_grad)
output
:
Tensor(x_grad), Tensor(grid_grad)
...
@@ -969,7 +969,7 @@
...
@@ -969,7 +969,7 @@
func
:
grid_sample_grad
func
:
grid_sample_grad
data_type
:
x
data_type
:
x
-
backward_
api
:
group_norm_grad
-
backward_
op
:
group_norm_grad
forward
:
group_norm (Tensor x, Tensor scale, Tensor bias, float epsilon, int groups, str data_layout) -> Tensor(y), Tensor(mean), Tensor(variance)
forward
:
group_norm (Tensor x, Tensor scale, Tensor bias, float epsilon, int groups, str data_layout) -> Tensor(y), Tensor(mean), Tensor(variance)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor y, Tensor mean, Tensor variance, Tensor y_grad, float epsilon, int groups, str data_layout)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor y, Tensor mean, Tensor variance, Tensor y_grad, float epsilon, int groups, str data_layout)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
...
@@ -982,7 +982,7 @@
...
@@ -982,7 +982,7 @@
optional
:
scale, bias
optional
:
scale, bias
inplace
:
(y_grad -> x_grad)
inplace
:
(y_grad -> x_grad)
-
backward_
api
:
gumbel_softmax_grad
-
backward_
op
:
gumbel_softmax_grad
forward
:
gumbel_softmax (Tensor x, float temperature, bool hard, int axis) -> Tensor(out)
forward
:
gumbel_softmax (Tensor x, float temperature, bool hard, int axis) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, int axis)
args
:
(Tensor out, Tensor out_grad, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -992,7 +992,7 @@
...
@@ -992,7 +992,7 @@
kernel
:
kernel
:
func
:
gumbel_softmax_grad
func
:
gumbel_softmax_grad
-
backward_
api
:
hard_shrink_grad
-
backward_
op
:
hard_shrink_grad
forward
:
hard_shrink (Tensor x, float threshold) -> Tensor(out)
forward
:
hard_shrink (Tensor x, float threshold) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float threshold)
args
:
(Tensor x, Tensor out_grad, float threshold)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1003,7 +1003,7 @@
...
@@ -1003,7 +1003,7 @@
func
:
hard_shrink_grad
func
:
hard_shrink_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
hard_sigmoid_grad
-
backward_
op
:
hard_sigmoid_grad
forward
:
hard_sigmoid (Tensor x, float slope, float offset) -> Tensor(out)
forward
:
hard_sigmoid (Tensor x, float slope, float offset) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, float slope, float offset)
args
:
(Tensor out, Tensor out_grad, float slope, float offset)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1014,7 +1014,7 @@
...
@@ -1014,7 +1014,7 @@
func
:
hard_sigmoid_grad
func
:
hard_sigmoid_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
hard_swish_grad
-
backward_
op
:
hard_swish_grad
forward
:
hard_swish (Tensor x, float threshold = 6.0, float scale = 6.0, float offset = 3.0) -> Tensor(out)
forward
:
hard_swish (Tensor x, float threshold = 6.0, float scale = 6.0, float offset = 3.0) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float threshold, float scale, float offset)
args
:
(Tensor x, Tensor out_grad, float threshold, float scale, float offset)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1025,7 +1025,7 @@
...
@@ -1025,7 +1025,7 @@
func
:
hard_swish_grad
func
:
hard_swish_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
hierarchical_sigmoid_grad
-
backward_
op
:
hierarchical_sigmoid_grad
forward
:
hierarchical_sigmoid (Tensor x, Tensor w, Tensor label, Tensor path, Tensor code, Tensor bias, int num_classes, bool remote_prefetch, int trainer_id, int64_t[] height_sections, str[] epmap, str[] table_names, bool is_sparse) -> Tensor(out), Tensor(pre_out), Tensor(w_out)
forward
:
hierarchical_sigmoid (Tensor x, Tensor w, Tensor label, Tensor path, Tensor code, Tensor bias, int num_classes, bool remote_prefetch, int trainer_id, int64_t[] height_sections, str[] epmap, str[] table_names, bool is_sparse) -> Tensor(out), Tensor(pre_out), Tensor(w_out)
args
:
(Tensor x, Tensor w, Tensor label, Tensor path, Tensor code, Tensor bias, Tensor pre_out, Tensor out_grad, int num_classes, bool remote_prefetch, int trainer_id, int64_t[] height_sections, str[] epmap, str[] table_names, bool is_sparse)
args
:
(Tensor x, Tensor w, Tensor label, Tensor path, Tensor code, Tensor bias, Tensor pre_out, Tensor out_grad, int num_classes, bool remote_prefetch, int trainer_id, int64_t[] height_sections, str[] epmap, str[] table_names, bool is_sparse)
output
:
Tensor(x_grad), Tensor(w_grad), Tensor(bias_grad)
output
:
Tensor(x_grad), Tensor(w_grad), Tensor(bias_grad)
...
@@ -1036,7 +1036,7 @@
...
@@ -1036,7 +1036,7 @@
kernel
:
kernel
:
func
:
hierarchical_sigmoid_grad
func
:
hierarchical_sigmoid_grad
-
backward_
api
:
huber_loss_grad
-
backward_
op
:
huber_loss_grad
forward
:
huber_loss (Tensor input, Tensor label, float delta) -> Tensor(out), Tensor(residual)
forward
:
huber_loss (Tensor input, Tensor label, float delta) -> Tensor(out), Tensor(residual)
args
:
(Tensor residual, Tensor out_grad, float delta)
args
:
(Tensor residual, Tensor out_grad, float delta)
output
:
Tensor(input_grad), Tensor(label_grad)
output
:
Tensor(input_grad), Tensor(label_grad)
...
@@ -1046,13 +1046,13 @@
...
@@ -1046,13 +1046,13 @@
kernel
:
kernel
:
func
:
huber_loss_grad
func
:
huber_loss_grad
-
backward_
api
:
imag_grad
-
backward_
op
:
imag_grad
forward
:
imag (Tensor x) -> Tensor(out)
forward
:
imag (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
imag_grad_impl(out_grad, x_grad)
invoke
:
imag_grad_impl(out_grad, x_grad)
-
backward_
api
:
index_add_grad
-
backward_
op
:
index_add_grad
forward
:
index_add(Tensor x, Tensor index, Tensor add_value, int axis) -> Tensor(out)
forward
:
index_add(Tensor x, Tensor index, Tensor add_value, int axis) -> Tensor(out)
args
:
(Tensor index, Tensor add_value, Tensor out_grad, int axis)
args
:
(Tensor index, Tensor add_value, Tensor out_grad, int axis)
output
:
Tensor(x_grad), Tensor(add_value_grad)
output
:
Tensor(x_grad), Tensor(add_value_grad)
...
@@ -1063,7 +1063,7 @@
...
@@ -1063,7 +1063,7 @@
data_type
:
out_grad
data_type
:
out_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
index_sample_grad
-
backward_
op
:
index_sample_grad
forward
:
index_sample (Tensor x, Tensor index) -> Tensor(out)
forward
:
index_sample (Tensor x, Tensor index) -> Tensor(out)
args
:
(Tensor x, Tensor index, Tensor out_grad)
args
:
(Tensor x, Tensor index, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1075,7 +1075,7 @@
...
@@ -1075,7 +1075,7 @@
data_type
:
out_grad
data_type
:
out_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
index_select_grad
-
backward_
op
:
index_select_grad
forward
:
index_select(Tensor x, Tensor index, int dim) -> Tensor(out)
forward
:
index_select(Tensor x, Tensor index, int dim) -> Tensor(out)
args
:
(Tensor x, Tensor index, Tensor out_grad, int dim)
args
:
(Tensor x, Tensor index, Tensor out_grad, int dim)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1087,7 +1087,7 @@
...
@@ -1087,7 +1087,7 @@
data_type
:
x
data_type
:
x
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
instance_norm_double_grad
-
backward_
op
:
instance_norm_double_grad
forward
:
instance_norm_grad(Tensor x, Tensor fwd_scale, Tensor saved_mean, Tensor saved_variance, Tensor grad_y, float epsilon) -> Tensor(grad_x), Tensor(grad_scale), Tensor(grad_bias)
forward
:
instance_norm_grad(Tensor x, Tensor fwd_scale, Tensor saved_mean, Tensor saved_variance, Tensor grad_y, float epsilon) -> Tensor(grad_x), Tensor(grad_scale), Tensor(grad_bias)
args
:
(Tensor x, Tensor fwd_scale, Tensor saved_mean, Tensor saved_variance, Tensor grad_y, Tensor grad_x_grad, Tensor grad_scale_grad, Tensor grad_bias_grad, float epsilon)
args
:
(Tensor x, Tensor fwd_scale, Tensor saved_mean, Tensor saved_variance, Tensor grad_y, Tensor grad_x_grad, Tensor grad_scale_grad, Tensor grad_bias_grad, float epsilon)
output
:
Tensor(x_grad), Tensor(fwd_scale_grad), Tensor(grad_y_grad)
output
:
Tensor(x_grad), Tensor(fwd_scale_grad), Tensor(grad_y_grad)
...
@@ -1098,7 +1098,7 @@
...
@@ -1098,7 +1098,7 @@
data_type
:
x
data_type
:
x
optional
:
fwd_scale, grad_x_grad, grad_scale_grad, grad_bias_grad
optional
:
fwd_scale, grad_x_grad, grad_scale_grad, grad_bias_grad
-
backward_
api
:
instance_norm_grad
-
backward_
op
:
instance_norm_grad
forward
:
instance_norm(Tensor x, Tensor scale, Tensor bias, float epsilon) -> Tensor(y), Tensor(saved_mean), Tensor(saved_variance)
forward
:
instance_norm(Tensor x, Tensor scale, Tensor bias, float epsilon) -> Tensor(y), Tensor(saved_mean), Tensor(saved_variance)
args
:
(Tensor x, Tensor scale, Tensor saved_mean, Tensor saved_variance, Tensor y_grad, float epsilon)
args
:
(Tensor x, Tensor scale, Tensor saved_mean, Tensor saved_variance, Tensor y_grad, float epsilon)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
...
@@ -1110,7 +1110,7 @@
...
@@ -1110,7 +1110,7 @@
optional
:
scale
optional
:
scale
backward
:
instance_norm_double_grad
backward
:
instance_norm_double_grad
-
backward_
api
:
inverse_grad
-
backward_
op
:
inverse_grad
forward
:
inverse(Tensor x) -> Tensor(out)
forward
:
inverse(Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1119,7 +1119,7 @@
...
@@ -1119,7 +1119,7 @@
kernel
:
kernel
:
func
:
inverse_grad
func
:
inverse_grad
-
backward_
api
:
kldiv_loss_grad
-
backward_
op
:
kldiv_loss_grad
forward
:
kldiv_loss(Tensor x, Tensor label, str reduction) -> Tensor(out)
forward
:
kldiv_loss(Tensor x, Tensor label, str reduction) -> Tensor(out)
args
:
(Tensor x, Tensor label, Tensor out_grad, str reduction)
args
:
(Tensor x, Tensor label, Tensor out_grad, str reduction)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1130,7 +1130,7 @@
...
@@ -1130,7 +1130,7 @@
func
:
kldiv_loss_grad
func
:
kldiv_loss_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
kron_grad
-
backward_
op
:
kron_grad
forward
:
kron (Tensor x, Tensor y) -> Tensor(out)
forward
:
kron (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -1141,7 +1141,7 @@
...
@@ -1141,7 +1141,7 @@
func
:
kron_grad
func
:
kron_grad
data_type
:
out_grad
data_type
:
out_grad
-
backward_
api
:
kthvalue_grad
-
backward_
op
:
kthvalue_grad
forward
:
kthvalue(Tensor x, int k, int axis, bool keepdim) -> Tensor(out), Tensor(indices)
forward
:
kthvalue(Tensor x, int k, int axis, bool keepdim) -> Tensor(out), Tensor(indices)
args
:
(Tensor x, Tensor indices, Tensor out_grad, int k, int axis, bool keepdim)
args
:
(Tensor x, Tensor indices, Tensor out_grad, int k, int axis, bool keepdim)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1151,7 +1151,7 @@
...
@@ -1151,7 +1151,7 @@
kernel
:
kernel
:
func
:
kthvalue_grad
func
:
kthvalue_grad
-
backward_
api
:
label_smooth_grad
-
backward_
op
:
label_smooth_grad
forward
:
label_smooth (Tensor label, Tensor prior_dist, float epsilon) -> Tensor(out)
forward
:
label_smooth (Tensor label, Tensor prior_dist, float epsilon) -> Tensor(out)
args
:
(Tensor out_grad, float epsilon)
args
:
(Tensor out_grad, float epsilon)
output
:
Tensor(label_grad)
output
:
Tensor(label_grad)
...
@@ -1161,7 +1161,7 @@
...
@@ -1161,7 +1161,7 @@
kernel
:
kernel
:
func
:
label_smooth_grad
func
:
label_smooth_grad
-
backward_
api
:
layer_norm_grad
-
backward_
op
:
layer_norm_grad
forward
:
layer_norm (Tensor x, Tensor scale, Tensor bias, float epsilon, int begin_norm_axis, bool is_test) -> Tensor(out), Tensor(mean), Tensor(variance)
forward
:
layer_norm (Tensor x, Tensor scale, Tensor bias, float epsilon, int begin_norm_axis, bool is_test) -> Tensor(out), Tensor(mean), Tensor(variance)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor mean, Tensor variance, Tensor out_grad, float epsilon, int begin_norm_axis, bool is_test)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor mean, Tensor variance, Tensor out_grad, float epsilon, int begin_norm_axis, bool is_test)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
...
@@ -1174,7 +1174,7 @@
...
@@ -1174,7 +1174,7 @@
no_need_buffer
:
bias
no_need_buffer
:
bias
optional
:
scale, bias
optional
:
scale, bias
-
backward_
api
:
leaky_relu_double_grad
-
backward_
op
:
leaky_relu_double_grad
forward
:
leaky_relu_grad (Tensor x, Tensor grad_out, float alpha) -> Tensor(grad_x)
forward
:
leaky_relu_grad (Tensor x, Tensor grad_out, float alpha) -> Tensor(grad_x)
args
:
(Tensor x, Tensor grad_x_grad, float alpha)
args
:
(Tensor x, Tensor grad_x_grad, float alpha)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -1185,7 +1185,7 @@
...
@@ -1185,7 +1185,7 @@
func
:
leaky_relu_double_grad
func
:
leaky_relu_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
leaky_relu_grad
-
backward_
op
:
leaky_relu_grad
forward
:
leaky_relu (Tensor x, float alpha) -> Tensor(out)
forward
:
leaky_relu (Tensor x, float alpha) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float alpha)
args
:
(Tensor x, Tensor out_grad, float alpha)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1197,7 +1197,7 @@
...
@@ -1197,7 +1197,7 @@
backward
:
leaky_relu_double_grad
backward
:
leaky_relu_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
lerp_grad
-
backward_
op
:
lerp_grad
forward
:
lerp (Tensor x, Tensor y, Tensor weight) -> Tensor(out)
forward
:
lerp (Tensor x, Tensor y, Tensor weight) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor weight, Tensor out, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor weight, Tensor out, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -1207,7 +1207,7 @@
...
@@ -1207,7 +1207,7 @@
kernel
:
kernel
:
func
:
lerp_grad
func
:
lerp_grad
-
backward_
api
:
linear_interp_grad
-
backward_
op
:
linear_interp_grad
forward
:
linear_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
forward
:
linear_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1219,7 +1219,7 @@
...
@@ -1219,7 +1219,7 @@
func
:
linear_interp_grad
func
:
linear_interp_grad
data_type
:
output_grad
data_type
:
output_grad
-
backward_
api
:
log10_grad
-
backward_
op
:
log10_grad
forward
:
log10 (Tensor x) -> Tensor(out)
forward
:
log10 (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1230,7 +1230,7 @@
...
@@ -1230,7 +1230,7 @@
func
:
log10_grad
func
:
log10_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
log1p_grad
-
backward_
op
:
log1p_grad
forward
:
log1p (Tensor x) -> Tensor(out)
forward
:
log1p (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1241,7 +1241,7 @@
...
@@ -1241,7 +1241,7 @@
func
:
log1p_grad
func
:
log1p_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
log2_grad
-
backward_
op
:
log2_grad
forward
:
log2 (Tensor x) -> Tensor(out)
forward
:
log2 (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1252,7 +1252,7 @@
...
@@ -1252,7 +1252,7 @@
func
:
log2_grad
func
:
log2_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
log_double_grad
-
backward_
op
:
log_double_grad
forward
:
log_grad (Tensor x, Tensor grad_out) -> Tensor(grad_x)
forward
:
log_grad (Tensor x, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
...
@@ -1263,7 +1263,7 @@
...
@@ -1263,7 +1263,7 @@
func
:
log_double_grad
func
:
log_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
log_grad
-
backward_
op
:
log_grad
forward
:
log (Tensor x) -> Tensor(out)
forward
:
log (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1275,7 +1275,7 @@
...
@@ -1275,7 +1275,7 @@
backward
:
log_double_grad
backward
:
log_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
log_loss_grad
-
backward_
op
:
log_loss_grad
forward
:
log_loss (Tensor input, Tensor label, float epsilon) -> Tensor(out)
forward
:
log_loss (Tensor input, Tensor label, float epsilon) -> Tensor(out)
args
:
(Tensor input, Tensor label, Tensor out_grad, float epsilon)
args
:
(Tensor input, Tensor label, Tensor out_grad, float epsilon)
output
:
Tensor(input_grad)
output
:
Tensor(input_grad)
...
@@ -1285,7 +1285,7 @@
...
@@ -1285,7 +1285,7 @@
kernel
:
kernel
:
func
:
log_loss_grad
func
:
log_loss_grad
-
backward_
api
:
log_softmax_grad
-
backward_
op
:
log_softmax_grad
forward
:
log_softmax(Tensor x, int axis) -> Tensor(out)
forward
:
log_softmax(Tensor x, int axis) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, int axis)
args
:
(Tensor out, Tensor out_grad, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1295,7 +1295,7 @@
...
@@ -1295,7 +1295,7 @@
kernel
:
kernel
:
func
:
log_softmax_grad
func
:
log_softmax_grad
-
backward_
api
:
logcumsumexp_grad
-
backward_
op
:
logcumsumexp_grad
forward
:
logcumsumexp(Tensor x, int axis, bool flatten, bool exclusive, bool reverse) -> Tensor(out)
forward
:
logcumsumexp(Tensor x, int axis, bool flatten, bool exclusive, bool reverse) -> Tensor(out)
infer_meta
:
infer_meta
:
func
:
UnchangedInferMeta
func
:
UnchangedInferMeta
...
@@ -1305,7 +1305,7 @@
...
@@ -1305,7 +1305,7 @@
kernel
:
kernel
:
func
:
logcumsumexp_grad
func
:
logcumsumexp_grad
-
backward_
api
:
logit_grad
-
backward_
op
:
logit_grad
forward
:
logit (Tensor x, float eps = 1e-6f) -> Tensor(out)
forward
:
logit (Tensor x, float eps = 1e-6f) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float eps)
args
:
(Tensor x, Tensor out_grad, float eps)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1315,7 +1315,7 @@
...
@@ -1315,7 +1315,7 @@
kernel
:
kernel
:
func
:
logit_grad
func
:
logit_grad
-
backward_
api
:
logsigmoid_grad
-
backward_
op
:
logsigmoid_grad
forward
:
logsigmoid (Tensor x) -> Tensor(out)
forward
:
logsigmoid (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1326,7 +1326,7 @@
...
@@ -1326,7 +1326,7 @@
func
:
logsigmoid_grad
func
:
logsigmoid_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
logsumexp_grad
-
backward_
op
:
logsumexp_grad
forward
:
logsumexp(Tensor x, int64_t[] axis, bool keepdim, bool reduce_all) -> Tensor(out)
forward
:
logsumexp(Tensor x, int64_t[] axis, bool keepdim, bool reduce_all) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] axis, bool keepdim, bool reduce_all)
args
:
(Tensor x, Tensor out, Tensor out_grad, int64_t[] axis, bool keepdim, bool reduce_all)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1336,7 +1336,7 @@
...
@@ -1336,7 +1336,7 @@
kernel
:
kernel
:
func
:
logsumexp_grad
func
:
logsumexp_grad
-
backward_
api
:
lu_grad
-
backward_
op
:
lu_grad
forward
:
lu (Tensor x, bool pivot) -> Tensor(out), Tensor(pivots), Tensor(infos)
forward
:
lu (Tensor x, bool pivot) -> Tensor(out), Tensor(pivots), Tensor(infos)
args
:
(Tensor x, Tensor out, Tensor pivots, Tensor out_grad, bool pivot)
args
:
(Tensor x, Tensor out, Tensor pivots, Tensor out_grad, bool pivot)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1345,7 +1345,7 @@
...
@@ -1345,7 +1345,7 @@
kernel
:
kernel
:
func
:
lu_grad
func
:
lu_grad
-
backward_
api
:
lu_unpack_grad
-
backward_
op
:
lu_unpack_grad
forward
:
lu_unpack (Tensor x, Tensor pivots, bool unpack_ludata, bool unpack_pivots) -> Tensor(pmat), Tensor(l), Tensor(u)
forward
:
lu_unpack (Tensor x, Tensor pivots, bool unpack_ludata, bool unpack_pivots) -> Tensor(pmat), Tensor(l), Tensor(u)
args
:
(Tensor x, Tensor pivots, Tensor l, Tensor u, Tensor pmat, Tensor l_grad, Tensor u_grad, bool unpack_ludata, bool unpack_pivots)
args
:
(Tensor x, Tensor pivots, Tensor l, Tensor u, Tensor pmat, Tensor l_grad, Tensor u_grad, bool unpack_ludata, bool unpack_pivots)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1354,7 +1354,7 @@
...
@@ -1354,7 +1354,7 @@
kernel
:
kernel
:
func
:
lu_unpack_grad
func
:
lu_unpack_grad
-
backward_
api
:
margin_cross_entropy_grad
-
backward_
op
:
margin_cross_entropy_grad
forward
:
margin_cross_entropy (Tensor logits, Tensor label, bool return_softmax, int ring_id, int rank, int nranks, float margin1, float margin2, float margin3, float scale) -> Tensor(softmax), Tensor(loss)
forward
:
margin_cross_entropy (Tensor logits, Tensor label, bool return_softmax, int ring_id, int rank, int nranks, float margin1, float margin2, float margin3, float scale) -> Tensor(softmax), Tensor(loss)
args
:
(Tensor logits, Tensor label, Tensor softmax, Tensor loss_grad, bool return_softmax, int ring_id, int rank, int nranks, float margin1, float margin2, float margin3, float scale)
args
:
(Tensor logits, Tensor label, Tensor softmax, Tensor loss_grad, bool return_softmax, int ring_id, int rank, int nranks, float margin1, float margin2, float margin3, float scale)
output
:
Tensor(logits_grad)
output
:
Tensor(logits_grad)
...
@@ -1365,7 +1365,7 @@
...
@@ -1365,7 +1365,7 @@
data_type
:
softmax
data_type
:
softmax
inplace
:
(softmax -> logits_grad)
inplace
:
(softmax -> logits_grad)
-
backward_
api
:
masked_select_grad
-
backward_
op
:
masked_select_grad
forward
:
masked_select (Tensor x, Tensor mask) -> Tensor(out)
forward
:
masked_select (Tensor x, Tensor mask) -> Tensor(out)
args
:
(Tensor x, Tensor mask, Tensor out_grad)
args
:
(Tensor x, Tensor mask, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1377,7 +1377,7 @@
...
@@ -1377,7 +1377,7 @@
data_type
:
x
data_type
:
x
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
matmul_double_grad
-
backward_
op
:
matmul_double_grad
forward
:
matmul_grad (Tensor x, Tensor y, Tensor grad_out, bool transpose_x=false, bool transpose_y=false) -> Tensor(grad_x), Tensor(grad_y)
forward
:
matmul_grad (Tensor x, Tensor y, Tensor grad_out, bool transpose_x=false, bool transpose_y=false) -> Tensor(grad_x), Tensor(grad_y)
args
:
(Tensor x, Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, bool transpose_x=false, bool transpose_y=false)
args
:
(Tensor x, Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, bool transpose_x=false, bool transpose_y=false)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(grad_out_grad)
...
@@ -1389,7 +1389,7 @@
...
@@ -1389,7 +1389,7 @@
backward
:
matmul_triple_grad
backward
:
matmul_triple_grad
optional
:
grad_x_grad, grad_y_grad
optional
:
grad_x_grad, grad_y_grad
-
backward_
api
:
matmul_grad
-
backward_
op
:
matmul_grad
forward
:
matmul (Tensor x, Tensor y, bool transpose_x=false, bool transpose_y=false) -> Tensor(out)
forward
:
matmul (Tensor x, Tensor y, bool transpose_x=false, bool transpose_y=false) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, bool transpose_x=false, bool transpose_y=false)
args
:
(Tensor x, Tensor y, Tensor out_grad, bool transpose_x=false, bool transpose_y=false)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -1400,7 +1400,7 @@
...
@@ -1400,7 +1400,7 @@
func
:
matmul_grad
func
:
matmul_grad
backward
:
matmul_double_grad
backward
:
matmul_double_grad
-
backward_
api
:
matmul_triple_grad
-
backward_
op
:
matmul_triple_grad
forward
:
matmul_double_grad (Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, bool transpose_x=false, bool transpose_y=false) -> Tensor(grad_x), Tensor(grad_y), Tensor(grad_grad_out)
forward
:
matmul_double_grad (Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, bool transpose_x=false, bool transpose_y=false) -> Tensor(grad_x), Tensor(grad_y), Tensor(grad_grad_out)
args
:
(Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, Tensor grad_x_grad, Tensor grad_y_grad, Tensor grad_grad_out_grad, bool transpose_x=false, bool transpose_y=false)
args
:
(Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, Tensor grad_x_grad, Tensor grad_y_grad, Tensor grad_grad_out_grad, bool transpose_x=false, bool transpose_y=false)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(fwd_grad_out_grad), Tensor(fwd_grad_grad_x_grad), Tensor(fwd_grad_grad_y_grad)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(fwd_grad_out_grad), Tensor(fwd_grad_grad_x_grad), Tensor(fwd_grad_grad_y_grad)
...
@@ -1411,7 +1411,7 @@
...
@@ -1411,7 +1411,7 @@
func
:
matmul_triple_grad
func
:
matmul_triple_grad
optional
:
grad_x_grad, grad_y_grad, grad_grad_out_grad
optional
:
grad_x_grad, grad_y_grad, grad_grad_out_grad
-
backward_
api
:
matrix_power_grad
-
backward_
op
:
matrix_power_grad
forward
:
matrix_power (Tensor x, int n) -> Tensor(out)
forward
:
matrix_power (Tensor x, int n) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, int n)
args
:
(Tensor x, Tensor out, Tensor out_grad, int n)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1421,7 +1421,7 @@
...
@@ -1421,7 +1421,7 @@
kernel
:
kernel
:
func
:
matrix_power_grad
func
:
matrix_power_grad
-
backward_
api
:
max_grad
-
backward_
op
:
max_grad
forward
:
max (Tensor x, IntArray dims={}, bool keep_dim=false) -> Tensor(out)
forward
:
max (Tensor x, IntArray dims={}, bool keep_dim=false) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray dims={}, bool keep_dim=false, bool reduce_all=false)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray dims={}, bool keep_dim=false, bool reduce_all=false)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1431,7 +1431,7 @@
...
@@ -1431,7 +1431,7 @@
kernel
:
kernel
:
func
:
max_grad
func
:
max_grad
-
backward_
api
:
max_pool2d_with_index_grad
-
backward_
op
:
max_pool2d_with_index_grad
forward
:
max_pool2d_with_index(Tensor x, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive) -> Tensor(out), Tensor(mask)
forward
:
max_pool2d_with_index(Tensor x, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive) -> Tensor(out), Tensor(mask)
args
:
(Tensor x, Tensor mask, Tensor out_grad, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive)
args
:
(Tensor x, Tensor mask, Tensor out_grad, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1440,7 +1440,7 @@
...
@@ -1440,7 +1440,7 @@
kernel
:
kernel
:
func
:
max_pool2d_with_index_grad
func
:
max_pool2d_with_index_grad
-
backward_
api
:
max_pool3d_with_index_grad
-
backward_
op
:
max_pool3d_with_index_grad
forward
:
max_pool3d_with_index(Tensor x, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive) -> Tensor(out), Tensor(mask)
forward
:
max_pool3d_with_index(Tensor x, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive) -> Tensor(out), Tensor(mask)
args
:
(Tensor x, Tensor mask, Tensor out_grad, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive)
args
:
(Tensor x, Tensor mask, Tensor out_grad, int[] kernel_size, int[] strides, int[] paddings, bool global_pooling, bool adaptive)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1449,7 +1449,7 @@
...
@@ -1449,7 +1449,7 @@
kernel
:
kernel
:
func
:
max_pool3d_with_index_grad
func
:
max_pool3d_with_index_grad
-
backward_
api
:
maximum_grad
-
backward_
op
:
maximum_grad
forward
:
maximum(Tensor x, Tensor y) -> Tensor(out)
forward
:
maximum(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis=-1)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis=-1)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -1459,7 +1459,7 @@
...
@@ -1459,7 +1459,7 @@
kernel
:
kernel
:
func
:
maximum_grad
func
:
maximum_grad
-
backward_
api
:
maxout_grad
-
backward_
op
:
maxout_grad
forward
:
maxout(Tensor x, int groups, int axis) -> Tensor(out)
forward
:
maxout(Tensor x, int groups, int axis) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, int groups, int axis)
args
:
(Tensor x, Tensor out, Tensor out_grad, int groups, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1469,7 +1469,7 @@
...
@@ -1469,7 +1469,7 @@
kernel
:
kernel
:
func
:
maxout_grad
func
:
maxout_grad
-
backward_
api
:
mean_all_grad
-
backward_
op
:
mean_all_grad
forward
:
mean_all(Tensor x) -> Tensor(out)
forward
:
mean_all(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1479,13 +1479,13 @@
...
@@ -1479,13 +1479,13 @@
kernel
:
kernel
:
func
:
mean_all_grad
func
:
mean_all_grad
-
backward_
api
:
mean_double_grad
-
backward_
op
:
mean_double_grad
forward
:
mean_grad (Tensor x, Tensor grad_out, IntArray dims={}, bool keep_dim=false, bool reduce_all =
false
) -> Tensor(grad_x)
forward
:
mean_grad (Tensor x, Tensor grad_out, IntArray dims={}, bool keep_dim=false, bool reduce_all =
false
) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray dims={}, bool keep_dim=false)
args
:
(Tensor grad_x_grad, IntArray dims={}, bool keep_dim=false)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
mean(grad_x_grad, dims, keep_dim)
invoke
:
mean(grad_x_grad, dims, keep_dim)
-
backward_
api
:
mean_grad
-
backward_
op
:
mean_grad
forward
:
mean (Tensor x, IntArray dims={}, bool keep_dim=false) -> Tensor(out)
forward
:
mean (Tensor x, IntArray dims={}, bool keep_dim=false) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, IntArray dims={}, bool keep_dim=false, bool reduce_all=false)
args
:
(Tensor x, Tensor out_grad, IntArray dims={}, bool keep_dim=false, bool reduce_all=false)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1497,7 +1497,7 @@
...
@@ -1497,7 +1497,7 @@
backward
:
mean_double_grad
backward
:
mean_double_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
meshgrid_grad
-
backward_
op
:
meshgrid_grad
forward
:
meshgrid (Tensor[] inputs) -> Tensor[](outputs)
forward
:
meshgrid (Tensor[] inputs) -> Tensor[](outputs)
args
:
(Tensor[] inputs, Tensor[] outputs_grad)
args
:
(Tensor[] inputs, Tensor[] outputs_grad)
output
:
Tensor[](inputs_grad){inputs.size()}
output
:
Tensor[](inputs_grad){inputs.size()}
...
@@ -1506,7 +1506,7 @@
...
@@ -1506,7 +1506,7 @@
kernel
:
kernel
:
func
:
meshgrid_grad
func
:
meshgrid_grad
-
backward_
api
:
min_grad
-
backward_
op
:
min_grad
forward
:
min (Tensor x, IntArray dims={}, bool keep_dim=false) -> Tensor(out)
forward
:
min (Tensor x, IntArray dims={}, bool keep_dim=false) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray dims={}, bool keep_dim=false, bool reduce_all=false)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray dims={}, bool keep_dim=false, bool reduce_all=false)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1516,7 +1516,7 @@
...
@@ -1516,7 +1516,7 @@
kernel
:
kernel
:
func
:
min_grad
func
:
min_grad
-
backward_
api
:
minimum_grad
-
backward_
op
:
minimum_grad
forward
:
minimum(Tensor x, Tensor y) -> Tensor(out)
forward
:
minimum(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis=-1)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis=-1)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -1526,7 +1526,7 @@
...
@@ -1526,7 +1526,7 @@
kernel
:
kernel
:
func
:
minimum_grad
func
:
minimum_grad
-
backward_
api
:
mish_grad
-
backward_
op
:
mish_grad
forward
:
mish (Tensor x, float threshold) -> Tensor(out)
forward
:
mish (Tensor x, float threshold) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float threshold)
args
:
(Tensor x, Tensor out_grad, float threshold)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1537,7 +1537,7 @@
...
@@ -1537,7 +1537,7 @@
func
:
mish_grad
func
:
mish_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
mode_grad
-
backward_
op
:
mode_grad
forward
:
mode(Tensor x, int axis, bool keepdim) -> Tensor(out), Tensor(indices)
forward
:
mode(Tensor x, int axis, bool keepdim) -> Tensor(out), Tensor(indices)
args
:
(Tensor x, Tensor indices, Tensor out_grad, int axis, bool keepdim)
args
:
(Tensor x, Tensor indices, Tensor out_grad, int axis, bool keepdim)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1547,7 +1547,7 @@
...
@@ -1547,7 +1547,7 @@
kernel
:
kernel
:
func
:
mode_grad
func
:
mode_grad
-
backward_
api
:
multi_dot_grad
-
backward_
op
:
multi_dot_grad
forward
:
multi_dot (Tensor[] x) -> Tensor(out)
forward
:
multi_dot (Tensor[] x) -> Tensor(out)
args
:
(Tensor[] x, Tensor out_grad)
args
:
(Tensor[] x, Tensor out_grad)
output
:
Tensor[](x_grad) {x.size()}
output
:
Tensor[](x_grad) {x.size()}
...
@@ -1556,7 +1556,7 @@
...
@@ -1556,7 +1556,7 @@
kernel
:
kernel
:
func
:
multi_dot_grad
func
:
multi_dot_grad
-
backward_
api
:
multiplex_grad
-
backward_
op
:
multiplex_grad
forward
:
multiplex (Tensor[] ins, Tensor ids) -> Tensor(out)
forward
:
multiplex (Tensor[] ins, Tensor ids) -> Tensor(out)
args
:
(Tensor[] ins, Tensor ids, Tensor out_grad)
args
:
(Tensor[] ins, Tensor ids, Tensor out_grad)
output
:
Tensor[](ins_grad){ins.size()}
output
:
Tensor[](ins_grad){ins.size()}
...
@@ -1567,7 +1567,7 @@
...
@@ -1567,7 +1567,7 @@
func
:
multiplex_grad
func
:
multiplex_grad
param
:
[
ids
,
out_grad
]
param
:
[
ids
,
out_grad
]
-
backward_
api
:
multiply_double_grad
-
backward_
op
:
multiply_double_grad
forward
:
multiply_grad (Tensor x, Tensor y, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
forward
:
multiply_grad (Tensor x, Tensor y, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
args
:
(Tensor x, Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
args
:
(Tensor x, Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(grad_out_grad)
...
@@ -1580,7 +1580,7 @@
...
@@ -1580,7 +1580,7 @@
backward
:
multiply_triple_grad
backward
:
multiply_triple_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
multiply_grad
-
backward_
op
:
multiply_grad
forward
:
multiply (Tensor x, Tensor y) -> Tensor(out)
forward
:
multiply (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis = -1)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis = -1)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -1591,7 +1591,7 @@
...
@@ -1591,7 +1591,7 @@
func
:
multiply_grad
func
:
multiply_grad
backward
:
multiply_double_grad
backward
:
multiply_double_grad
-
backward_
api
:
multiply_triple_grad
-
backward_
op
:
multiply_triple_grad
forward
:
multiply_double_grad (Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, int aixs = -1) -> Tensor(grad_x), Tensor(grad_y), Tensor(grad_grad_out)
forward
:
multiply_double_grad (Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, int aixs = -1) -> Tensor(grad_x), Tensor(grad_y), Tensor(grad_grad_out)
args
:
(Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, Tensor grad_x_grad, Tensor grad_y_grad, Tensor grad_grad_out_grad, int axis = -1)
args
:
(Tensor x, Tensor y, Tensor fwd_grad_out, Tensor fwd_grad_grad_x, Tensor fwd_grad_grad_y, Tensor grad_x_grad, Tensor grad_y_grad, Tensor grad_grad_out_grad, int axis = -1)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(fwd_grad_out_grad), Tensor(fwd_grad_grad_x_grad), Tensor(fwd_grad_grad_y_grad)
output
:
Tensor(x_grad), Tensor(y_grad), Tensor(fwd_grad_out_grad), Tensor(fwd_grad_grad_x_grad), Tensor(fwd_grad_grad_y_grad)
...
@@ -1602,7 +1602,7 @@
...
@@ -1602,7 +1602,7 @@
func
:
multiply_triple_grad
func
:
multiply_triple_grad
optional
:
fwd_grad_grad_x, fwd_grad_grad_y, grad_grad_out_grad
optional
:
fwd_grad_grad_x, fwd_grad_grad_y, grad_grad_out_grad
-
backward_
api
:
nearest_interp_grad
-
backward_
op
:
nearest_interp_grad
forward
:
nearest_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
forward
:
nearest_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1614,7 +1614,7 @@
...
@@ -1614,7 +1614,7 @@
func
:
nearest_interp_grad
func
:
nearest_interp_grad
data_type
:
output_grad
data_type
:
output_grad
-
backward_
api
:
nll_loss_grad
-
backward_
op
:
nll_loss_grad
forward
:
nll_loss (Tensor input, Tensor label, Tensor weight, int64_t ignore_index, str reduction) -> Tensor(out), Tensor(total_weight)
forward
:
nll_loss (Tensor input, Tensor label, Tensor weight, int64_t ignore_index, str reduction) -> Tensor(out), Tensor(total_weight)
args
:
(Tensor input, Tensor label, Tensor weight, Tensor total_weight, Tensor out_grad, int64_t ignore_index, str reduction)
args
:
(Tensor input, Tensor label, Tensor weight, Tensor total_weight, Tensor out_grad, int64_t ignore_index, str reduction)
output
:
Tensor(input_grad)
output
:
Tensor(input_grad)
...
@@ -1625,7 +1625,7 @@
...
@@ -1625,7 +1625,7 @@
data_type
:
input
data_type
:
input
optional
:
weight
optional
:
weight
-
backward_
api
:
norm_grad
-
backward_
op
:
norm_grad
forward
:
norm (Tensor x, int axis, float epsilon, bool is_test) -> Tensor(out), Tensor(norm)
forward
:
norm (Tensor x, int axis, float epsilon, bool is_test) -> Tensor(out), Tensor(norm)
args
:
(Tensor x, Tensor norm, Tensor out_grad, int axis, float epsilon, bool is_test)
args
:
(Tensor x, Tensor norm, Tensor out_grad, int axis, float epsilon, bool is_test)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1635,7 +1635,7 @@
...
@@ -1635,7 +1635,7 @@
kernel
:
kernel
:
func
:
norm_grad
func
:
norm_grad
-
backward_
api
:
overlap_add_grad
-
backward_
op
:
overlap_add_grad
forward
:
overlap_add(Tensor x, int hop_length, int axis) -> Tensor(out)
forward
:
overlap_add(Tensor x, int hop_length, int axis) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int hop_length, int axis)
args
:
(Tensor x, Tensor out_grad, int hop_length, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1645,7 +1645,7 @@
...
@@ -1645,7 +1645,7 @@
func
:
overlap_add_grad
func
:
overlap_add_grad
data_type
:
x
data_type
:
x
-
backward_
api
:
p_norm_grad
-
backward_
op
:
p_norm_grad
forward
:
p_norm(Tensor x, float porder, int axis, float epsilon, bool keepdim, bool asvector=false) -> Tensor(out)
forward
:
p_norm(Tensor x, float porder, int axis, float epsilon, bool keepdim, bool asvector=false) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, float porder, int axis, float epsilon, bool keepdim, bool asvector)
args
:
(Tensor x, Tensor out, Tensor out_grad, float porder, int axis, float epsilon, bool keepdim, bool asvector)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1655,7 +1655,7 @@
...
@@ -1655,7 +1655,7 @@
kernel
:
kernel
:
func
:
p_norm_grad
func
:
p_norm_grad
-
backward_
api
:
pad3d_double_grad
-
backward_
op
:
pad3d_double_grad
forward
:
pad3d_grad(Tensor x, Tensor grad_out, IntArray paddings, str mode, float pad_value, str data_format) -> Tensor(grad_x)
forward
:
pad3d_grad(Tensor x, Tensor grad_out, IntArray paddings, str mode, float pad_value, str data_format) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray paddings, str mode, float pad_value, str data_format)
args
:
(Tensor grad_x_grad, IntArray paddings, str mode, float pad_value, str data_format)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -1664,7 +1664,7 @@
...
@@ -1664,7 +1664,7 @@
kernel
:
kernel
:
func
:
pad3d
func
:
pad3d
-
backward_
api
:
pad3d_grad
-
backward_
op
:
pad3d_grad
forward
:
pad3d(Tensor x, IntArray paddings, str mode, float pad_value, str data_format) -> Tensor(out)
forward
:
pad3d(Tensor x, IntArray paddings, str mode, float pad_value, str data_format) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, IntArray paddings, str mode, float pad_value, str data_format)
args
:
(Tensor x, Tensor out_grad, IntArray paddings, str mode, float pad_value, str data_format)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1676,7 +1676,7 @@
...
@@ -1676,7 +1676,7 @@
no_need_buffer
:
x
no_need_buffer
:
x
backward
:
pad3d_double_grad
backward
:
pad3d_double_grad
-
backward_
api
:
pad_double_grad
-
backward_
op
:
pad_double_grad
forward
:
pad_grad(Tensor x, Tensor grad_out, int[] paddings, Scalar pad_value) -> Tensor(grad_x)
forward
:
pad_grad(Tensor x, Tensor grad_out, int[] paddings, Scalar pad_value) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, int[] paddings, Scalar pad_value)
args
:
(Tensor grad_x_grad, int[] paddings, Scalar pad_value)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -1685,7 +1685,7 @@
...
@@ -1685,7 +1685,7 @@
kernel
:
kernel
:
func
:
pad
func
:
pad
-
backward_
api
:
pad_grad
-
backward_
op
:
pad_grad
forward
:
pad(Tensor x, int[] paddings, Scalar pad_value) -> Tensor(out)
forward
:
pad(Tensor x, int[] paddings, Scalar pad_value) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int[] paddings, Scalar pad_value)
args
:
(Tensor x, Tensor out_grad, int[] paddings, Scalar pad_value)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1698,7 +1698,7 @@
...
@@ -1698,7 +1698,7 @@
no_need_buffer
:
x
no_need_buffer
:
x
backward
:
pad_double_grad
backward
:
pad_double_grad
-
backward_
api
:
pixel_shuffle_grad
-
backward_
op
:
pixel_shuffle_grad
forward
:
pixel_shuffle (Tensor x, int upscale_factor, str data_format) -> Tensor(out)
forward
:
pixel_shuffle (Tensor x, int upscale_factor, str data_format) -> Tensor(out)
args
:
(Tensor out_grad, int upscale_factor, str data_format)
args
:
(Tensor out_grad, int upscale_factor, str data_format)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1707,7 +1707,7 @@
...
@@ -1707,7 +1707,7 @@
kernel
:
kernel
:
func
:
pixel_shuffle_grad
func
:
pixel_shuffle_grad
-
backward_
api
:
pool2d_double_grad
-
backward_
op
:
pool2d_double_grad
forward
:
pool2d_grad(Tensor x, Tensor out, Tensor grad_out, IntArray 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, bool use_gpudnn) -> Tensor(grad_x)
forward
:
pool2d_grad(Tensor x, Tensor out, Tensor grad_out, IntArray 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, bool use_gpudnn) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray 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, bool use_gpudnn)
args
:
(Tensor grad_x_grad, IntArray 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, bool use_gpudnn)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -1719,7 +1719,7 @@
...
@@ -1719,7 +1719,7 @@
param
:
[
grad_x_grad
,
kernel_size
,
strides
,
paddings
,
ceil_mode
,
exclusive
,
data_format
,
pooling_type
,
global_pooling
,
adaptive
,
padding_algorithm
]
param
:
[
grad_x_grad
,
kernel_size
,
strides
,
paddings
,
ceil_mode
,
exclusive
,
data_format
,
pooling_type
,
global_pooling
,
adaptive
,
padding_algorithm
]
use_gpudnn
:
use_gpudnn
use_gpudnn
:
use_gpudnn
-
backward_
api
:
pool2d_grad
-
backward_
op
:
pool2d_grad
forward
:
pool2d(Tensor x, IntArray 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, bool use_gpudnn) -> Tensor(out)
forward
:
pool2d(Tensor x, IntArray 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, bool use_gpudnn) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray 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, bool use_gpudnn)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray 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, bool use_gpudnn)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1732,7 +1732,7 @@
...
@@ -1732,7 +1732,7 @@
use_gpudnn
:
use_gpudnn
use_gpudnn
:
use_gpudnn
backward
:
pool2d_double_grad
backward
:
pool2d_double_grad
-
backward_
api
:
pool3d_grad
-
backward_
op
:
pool3d_grad
forward
:
pool3d(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, bool use_gpudnn) -> Tensor(out)
forward
:
pool3d(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, bool use_gpudnn) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, 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, bool use_gpudnn)
args
:
(Tensor x, Tensor out, Tensor out_grad, 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, bool use_gpudnn)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1744,7 +1744,7 @@
...
@@ -1744,7 +1744,7 @@
param
:
[
x
,
out
,
out_grad
,
kernel_size
,
strides
,
paddings
,
ceil_mode
,
exclusive
,
data_format
,
pooling_type
,
global_pooling
,
adaptive
,
padding_algorithm
]
param
:
[
x
,
out
,
out_grad
,
kernel_size
,
strides
,
paddings
,
ceil_mode
,
exclusive
,
data_format
,
pooling_type
,
global_pooling
,
adaptive
,
padding_algorithm
]
use_gpudnn
:
use_gpudnn
use_gpudnn
:
use_gpudnn
-
backward_
api
:
pow_grad
-
backward_
op
:
pow_grad
forward
:
pow(Tensor x, Scalar s) -> Tensor(out)
forward
:
pow(Tensor x, Scalar s) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, Scalar s=-1)
args
:
(Tensor x, Tensor out_grad, Scalar s=-1)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1755,7 +1755,7 @@
...
@@ -1755,7 +1755,7 @@
func
:
pow_grad
func
:
pow_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
prelu_grad
-
backward_
op
:
prelu_grad
forward
:
prelu(Tensor x, Tensor alpha, str data_format, str mode) -> Tensor(out)
forward
:
prelu(Tensor x, Tensor alpha, str data_format, str mode) -> Tensor(out)
args
:
(Tensor x, Tensor alpha, Tensor out_grad, str data_format, str mode)
args
:
(Tensor x, Tensor alpha, Tensor out_grad, str data_format, str mode)
output
:
Tensor(x_grad), Tensor(alpha_grad)
output
:
Tensor(x_grad), Tensor(alpha_grad)
...
@@ -1765,7 +1765,7 @@
...
@@ -1765,7 +1765,7 @@
kernel
:
kernel
:
func
:
prelu_grad
func
:
prelu_grad
-
backward_
api
:
psroi_pool_grad
-
backward_
op
:
psroi_pool_grad
forward
:
psroi_pool (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, int output_channels, float spatial_scale) -> Tensor(out)
forward
:
psroi_pool (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, int output_channels, float spatial_scale) -> Tensor(out)
args
:
(Tensor x, Tensor boxes, Tensor boxes_num, Tensor out_grad, int pooled_height, int pooled_width, int output_channels, float spatial_scale)
args
:
(Tensor x, Tensor boxes, Tensor boxes_num, Tensor out_grad, int pooled_height, int pooled_width, int output_channels, float spatial_scale)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1778,7 +1778,7 @@
...
@@ -1778,7 +1778,7 @@
optional
:
boxes_num
optional
:
boxes_num
# output is optional
# output is optional
-
backward_
api
:
put_along_axis_grad
-
backward_
op
:
put_along_axis_grad
forward
:
put_along_axis (Tensor x, Tensor index, Tensor value, int axis, str reduce) -> Tensor(out)
forward
:
put_along_axis (Tensor x, Tensor index, Tensor value, int axis, str reduce) -> Tensor(out)
args
:
(Tensor x, Tensor index, Tensor out_grad, int axis, str reduce)
args
:
(Tensor x, Tensor index, Tensor out_grad, int axis, str reduce)
output
:
Tensor(x_grad), Tensor(value_grad)
output
:
Tensor(x_grad), Tensor(value_grad)
...
@@ -1788,7 +1788,7 @@
...
@@ -1788,7 +1788,7 @@
kernel
:
kernel
:
func
:
put_along_axis_grad
func
:
put_along_axis_grad
-
backward_
api
:
qr_grad
-
backward_
op
:
qr_grad
forward
:
qr (Tensor x, str mode) -> Tensor(q), Tensor(r)
forward
:
qr (Tensor x, str mode) -> Tensor(q), Tensor(r)
args
:
(Tensor x, Tensor q, Tensor r, Tensor q_grad, Tensor r_grad, str mode)
args
:
(Tensor x, Tensor q, Tensor r, Tensor q_grad, Tensor r_grad, str mode)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1798,13 +1798,13 @@
...
@@ -1798,13 +1798,13 @@
kernel
:
kernel
:
func
:
qr_grad
func
:
qr_grad
-
backward_
api
:
real_grad
-
backward_
op
:
real_grad
forward
:
real (Tensor x) -> Tensor(out)
forward
:
real (Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
real_grad_impl(out_grad, x_grad)
invoke
:
real_grad_impl(out_grad, x_grad)
-
backward_
api
:
reciprocal_grad
-
backward_
op
:
reciprocal_grad
forward
:
reciprocal (Tensor x) -> Tensor(out)
forward
:
reciprocal (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1815,7 +1815,7 @@
...
@@ -1815,7 +1815,7 @@
func
:
reciprocal_grad
func
:
reciprocal_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
reduce_prod_grad
-
backward_
op
:
reduce_prod_grad
forward
:
reduce_prod (Tensor x, IntArray dims, bool keep_dim, bool reduce_all) -> Tensor(out)
forward
:
reduce_prod (Tensor x, IntArray dims, bool keep_dim, bool reduce_all) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray dims, bool keep_dim, bool reduce_all)
args
:
(Tensor x, Tensor out, Tensor out_grad, IntArray dims, bool keep_dim, bool reduce_all)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1825,7 +1825,7 @@
...
@@ -1825,7 +1825,7 @@
kernel
:
kernel
:
func
:
prod_grad
func
:
prod_grad
-
backward_
api
:
relu6_grad
-
backward_
op
:
relu6_grad
forward
:
relu6 (Tensor x, float threshold) -> Tensor(out)
forward
:
relu6 (Tensor x, float threshold) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, float threshold)
args
:
(Tensor out, Tensor out_grad, float threshold)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1836,7 +1836,7 @@
...
@@ -1836,7 +1836,7 @@
func
:
relu6_grad
func
:
relu6_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
relu_double_grad
-
backward_
op
:
relu_double_grad
forward
:
relu_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
forward
:
relu_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor out, Tensor grad_x_grad)
args
:
(Tensor out, Tensor grad_x_grad)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -1847,7 +1847,7 @@
...
@@ -1847,7 +1847,7 @@
func
:
relu_double_grad
func
:
relu_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
relu_grad
-
backward_
op
:
relu_grad
forward
:
relu (Tensor x) -> Tensor(out)
forward
:
relu (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1859,7 +1859,7 @@
...
@@ -1859,7 +1859,7 @@
backward
:
relu_double_grad
backward
:
relu_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
renorm_grad
-
backward_
op
:
renorm_grad
forward
:
renorm (Tensor x, float p, int axis, float max_norm) -> Tensor(out)
forward
:
renorm (Tensor x, float p, int axis, float max_norm) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float p, int axis, float max_norm)
args
:
(Tensor x, Tensor out_grad, float p, int axis, float max_norm)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1869,7 +1869,7 @@
...
@@ -1869,7 +1869,7 @@
kernel
:
kernel
:
func
:
renorm_grad
func
:
renorm_grad
-
backward_
api
:
repeat_interleave_grad
-
backward_
op
:
repeat_interleave_grad
forward
:
repeat_interleave(Tensor x, int repeats, int dim) -> Tensor(out)
forward
:
repeat_interleave(Tensor x, int repeats, int dim) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int repeats, int dim)
args
:
(Tensor x, Tensor out_grad, int repeats, int dim)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1879,7 +1879,7 @@
...
@@ -1879,7 +1879,7 @@
kernel
:
kernel
:
func
:
repeat_interleave_grad
func
:
repeat_interleave_grad
-
backward_
api
:
repeat_interleave_with_tensor_index_grad
-
backward_
op
:
repeat_interleave_with_tensor_index_grad
forward
:
repeat_interleave_with_tensor_index(Tensor x, Tensor repeats, int dim) -> Tensor(out)
forward
:
repeat_interleave_with_tensor_index(Tensor x, Tensor repeats, int dim) -> Tensor(out)
args
:
(Tensor x, Tensor repeats, Tensor out_grad, int dim)
args
:
(Tensor x, Tensor repeats, Tensor out_grad, int dim)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1890,7 +1890,7 @@
...
@@ -1890,7 +1890,7 @@
func
:
repeat_interleave_with_tensor_index_grad
func
:
repeat_interleave_with_tensor_index_grad
data_type
:
x
data_type
:
x
-
backward_
api
:
reshape_double_grad
-
backward_
op
:
reshape_double_grad
forward
:
reshape_grad (Tensor xshape, Tensor grad_out) -> Tensor(grad_x)
forward
:
reshape_grad (Tensor xshape, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor grad_out, Tensor grad_x_grad)
args
:
(Tensor grad_out, Tensor grad_x_grad)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -1902,7 +1902,7 @@
...
@@ -1902,7 +1902,7 @@
no_need_buffer
:
grad_out
no_need_buffer
:
grad_out
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
reshape_grad
-
backward_
op
:
reshape_grad
forward
:
reshape (Tensor x, IntArray shape) -> Tensor(out), Tensor(xshape)
forward
:
reshape (Tensor x, IntArray shape) -> Tensor(out), Tensor(xshape)
args
:
(Tensor xshape, Tensor out_grad)
args
:
(Tensor xshape, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1918,7 +1918,7 @@
...
@@ -1918,7 +1918,7 @@
backward
:
reshape_double_grad
backward
:
reshape_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
reverse_array_grad
-
backward_
op
:
reverse_array_grad
forward
:
reverse_array (Tensor[] x, IntArray axis) -> Tensor[](out)
forward
:
reverse_array (Tensor[] x, IntArray axis) -> Tensor[](out)
args
:
(Tensor[] out_grad, IntArray axis)
args
:
(Tensor[] out_grad, IntArray axis)
output
:
Tensor[](x_grad){out_grad.size()}
output
:
Tensor[](x_grad){out_grad.size()}
...
@@ -1927,13 +1927,13 @@
...
@@ -1927,13 +1927,13 @@
kernel
:
kernel
:
func
:
reverse
func
:
reverse
-
backward_
api
:
reverse_grad
-
backward_
op
:
reverse_grad
forward
:
reverse (Tensor x, IntArray axis) -> Tensor(out)
forward
:
reverse (Tensor x, IntArray axis) -> Tensor(out)
args
:
(Tensor out_grad, IntArray axis)
args
:
(Tensor out_grad, IntArray axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
reverse(out_grad, axis)
invoke
:
reverse(out_grad, axis)
-
backward_
api
:
roi_align_grad
-
backward_
op
:
roi_align_grad
forward
:
roi_align (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, float spatial_scale, int sampling_ratio, bool aligned) -> Tensor(out)
forward
:
roi_align (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, float spatial_scale, int sampling_ratio, bool aligned) -> Tensor(out)
args
:
(Tensor x, Tensor boxes, Tensor boxes_num, Tensor out_grad, int pooled_height, int pooled_width, float spatial_scale, int sampling_ratio, bool aligned)
args
:
(Tensor x, Tensor boxes, Tensor boxes_num, Tensor out_grad, int pooled_height, int pooled_width, float spatial_scale, int sampling_ratio, bool aligned)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1946,7 +1946,7 @@
...
@@ -1946,7 +1946,7 @@
no_need_buffer
:
x
no_need_buffer
:
x
optional
:
boxes_num
optional
:
boxes_num
-
backward_
api
:
roi_pool_grad
-
backward_
op
:
roi_pool_grad
forward
:
roi_pool (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, float spatial_scale) -> Tensor(out), Tensor(arg_max)
forward
:
roi_pool (Tensor x, Tensor boxes, Tensor boxes_num, int pooled_height, int pooled_width, float spatial_scale) -> Tensor(out), Tensor(arg_max)
args
:
(Tensor x, Tensor boxes, Tensor boxes_num, Tensor arg_max, Tensor out_grad, int pooled_height, int pooled_width, float spatial_scale)
args
:
(Tensor x, Tensor boxes, Tensor boxes_num, Tensor arg_max, Tensor out_grad, int pooled_height, int pooled_width, float spatial_scale)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1958,7 +1958,7 @@
...
@@ -1958,7 +1958,7 @@
data_type
:
x
data_type
:
x
optional
:
boxes_num
optional
:
boxes_num
-
backward_
api
:
roll_grad
-
backward_
op
:
roll_grad
forward
:
roll(Tensor x, IntArray shifts, int64_t[] axis) -> Tensor(out)
forward
:
roll(Tensor x, IntArray shifts, int64_t[] axis) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, IntArray shifts, int64_t[] axis)
args
:
(Tensor x, Tensor out_grad, IntArray shifts, int64_t[] axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1970,7 +1970,7 @@
...
@@ -1970,7 +1970,7 @@
data_type
:
x
data_type
:
x
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
round_grad
-
backward_
op
:
round_grad
forward
:
round(Tensor x) -> Tensor(out)
forward
:
round(Tensor x) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -1981,7 +1981,7 @@
...
@@ -1981,7 +1981,7 @@
func
:
round_grad
func
:
round_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
rsqrt_double_grad
-
backward_
op
:
rsqrt_double_grad
forward
:
rsqrt_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
forward
:
rsqrt_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor out, Tensor grad_x, Tensor grad_x_grad)
args
:
(Tensor out, Tensor grad_x, Tensor grad_x_grad)
output
:
Tensor(out_grad), Tensor(grad_out_grad)
output
:
Tensor(out_grad), Tensor(grad_out_grad)
...
@@ -1992,7 +1992,7 @@
...
@@ -1992,7 +1992,7 @@
func
:
rsqrt_double_grad
func
:
rsqrt_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
rsqrt_grad
-
backward_
op
:
rsqrt_grad
forward
:
rsqrt (Tensor x) -> Tensor(out)
forward
:
rsqrt (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2004,13 +2004,13 @@
...
@@ -2004,13 +2004,13 @@
backward
:
rsqrt_double_grad
backward
:
rsqrt_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
scale_grad
-
backward_
op
:
scale_grad
forward
:
scale (Tensor x, Scalar scale, float bias, bool bias_after_scale) -> Tensor(out)
forward
:
scale (Tensor x, Scalar scale, float bias, bool bias_after_scale) -> Tensor(out)
args
:
(Tensor out_grad, Scalar scale=1.0, bool bias_after_scale=true)
args
:
(Tensor out_grad, Scalar scale=1.0, bool bias_after_scale=true)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
scale(out_grad, scale, 0.0, bias_after_scale)
invoke
:
scale(out_grad, scale, 0.0, bias_after_scale)
-
backward_
api
:
scatter_grad
-
backward_
op
:
scatter_grad
forward
:
scatter (Tensor x, Tensor index, Tensor updates, bool overwrite) -> Tensor(out)
forward
:
scatter (Tensor x, Tensor index, Tensor updates, bool overwrite) -> Tensor(out)
args
:
(Tensor index, Tensor updates, Tensor out_grad, bool overwrite)
args
:
(Tensor index, Tensor updates, Tensor out_grad, bool overwrite)
output
:
Tensor(x_grad), Tensor(updates_grad)
output
:
Tensor(x_grad), Tensor(updates_grad)
...
@@ -2021,7 +2021,7 @@
...
@@ -2021,7 +2021,7 @@
func
:
scatter_grad
func
:
scatter_grad
no_need_buffer
:
updates
no_need_buffer
:
updates
-
backward_
api
:
scatter_nd_add_grad
-
backward_
op
:
scatter_nd_add_grad
forward
:
scatter_nd_add (Tensor x, Tensor index, Tensor updates) -> Tensor(out)
forward
:
scatter_nd_add (Tensor x, Tensor index, Tensor updates) -> Tensor(out)
args
:
(Tensor index, Tensor updates, Tensor out_grad)
args
:
(Tensor index, Tensor updates, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(updates_grad)
output
:
Tensor(x_grad), Tensor(updates_grad)
...
@@ -2032,7 +2032,7 @@
...
@@ -2032,7 +2032,7 @@
func
:
scatter_nd_add_grad
func
:
scatter_nd_add_grad
no_need_buffer
:
updates
no_need_buffer
:
updates
-
backward_
api
:
segment_pool_grad
-
backward_
op
:
segment_pool_grad
forward
:
segment_pool (Tensor x, Tensor segment_ids, str pooltype) -> Tensor(out), Tensor(summed_ids)
forward
:
segment_pool (Tensor x, Tensor segment_ids, str pooltype) -> Tensor(out), Tensor(summed_ids)
args
:
(Tensor x, Tensor segment_ids, Tensor out, Tensor summed_ids, Tensor out_grad, str pooltype)
args
:
(Tensor x, Tensor segment_ids, Tensor out, Tensor summed_ids, Tensor out_grad, str pooltype)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2044,7 +2044,7 @@
...
@@ -2044,7 +2044,7 @@
data_type
:
x
data_type
:
x
optional
:
summed_ids
optional
:
summed_ids
-
backward_
api
:
selu_grad
-
backward_
op
:
selu_grad
forward
:
selu (Tensor x, float scale, float alpha) -> Tensor(out)
forward
:
selu (Tensor x, float scale, float alpha) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, float scale, float alpha)
args
:
(Tensor out, Tensor out_grad, float scale, float alpha)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2054,7 +2054,7 @@
...
@@ -2054,7 +2054,7 @@
kernel
:
kernel
:
func
:
selu_grad
func
:
selu_grad
-
backward_
api
:
sigmoid_cross_entropy_with_logits_grad
-
backward_
op
:
sigmoid_cross_entropy_with_logits_grad
forward
:
sigmoid_cross_entropy_with_logits (Tensor x, Tensor label, bool normalize, int ignore_index) -> Tensor(out)
forward
:
sigmoid_cross_entropy_with_logits (Tensor x, Tensor label, bool normalize, int ignore_index) -> Tensor(out)
args
:
(Tensor x, Tensor label, Tensor out_grad, bool normalize, int ignore_index)
args
:
(Tensor x, Tensor label, Tensor out_grad, bool normalize, int ignore_index)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2065,7 +2065,7 @@
...
@@ -2065,7 +2065,7 @@
func
:
sigmoid_cross_entropy_with_logits_grad
func
:
sigmoid_cross_entropy_with_logits_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
sigmoid_double_grad
-
backward_
op
:
sigmoid_double_grad
forward
:
sigmoid_grad (Tensor out, Tensor fwd_grad_out) -> Tensor(grad_x)
forward
:
sigmoid_grad (Tensor out, Tensor fwd_grad_out) -> Tensor(grad_x)
args
:
(Tensor out, Tensor fwd_grad_out, Tensor grad_x_grad)
args
:
(Tensor out, Tensor fwd_grad_out, Tensor grad_x_grad)
output
:
Tensor(out_grad), Tensor(fwd_grad_out_grad)
output
:
Tensor(out_grad), Tensor(fwd_grad_out_grad)
...
@@ -2077,7 +2077,7 @@
...
@@ -2077,7 +2077,7 @@
backward
:
sigmoid_triple_grad
backward
:
sigmoid_triple_grad
inplace
:
(grad_x_grad -> fwd_grad_out_grad)
inplace
:
(grad_x_grad -> fwd_grad_out_grad)
-
backward_
api
:
sigmoid_grad
-
backward_
op
:
sigmoid_grad
forward
:
sigmoid (Tensor x) -> Tensor(out)
forward
:
sigmoid (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2089,7 +2089,7 @@
...
@@ -2089,7 +2089,7 @@
backward
:
sigmoid_double_grad
backward
:
sigmoid_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
sigmoid_triple_grad
-
backward_
op
:
sigmoid_triple_grad
forward
:
sigmoid_double_grad (Tensor out, Tensor fwd_grad_out, Tensor grad_grad_x) -> Tensor(grad_out), Tensor(grad_grad_out)
forward
:
sigmoid_double_grad (Tensor out, Tensor fwd_grad_out, Tensor grad_grad_x) -> Tensor(grad_out), Tensor(grad_grad_out)
args
:
(Tensor out, Tensor fwd_grad_out, Tensor grad_grad_x, Tensor grad_out_grad, Tensor grad_grad_out_grad)
args
:
(Tensor out, Tensor fwd_grad_out, Tensor grad_grad_x, Tensor grad_out_grad, Tensor grad_grad_out_grad)
output
:
Tensor(out_grad), Tensor(fwd_grad_out_grad), Tensor(grad_grad_x_grad)
output
:
Tensor(out_grad), Tensor(fwd_grad_out_grad), Tensor(grad_grad_x_grad)
...
@@ -2101,7 +2101,7 @@
...
@@ -2101,7 +2101,7 @@
optional
:
grad_grad_out_grad
optional
:
grad_grad_out_grad
inplace
:
(grad_grad_x -> fwd_grad_out_grad)
inplace
:
(grad_grad_x -> fwd_grad_out_grad)
-
backward_
api
:
silu_grad
-
backward_
op
:
silu_grad
forward
:
silu (Tensor x) -> Tensor(out)
forward
:
silu (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2112,7 +2112,7 @@
...
@@ -2112,7 +2112,7 @@
func
:
silu_grad
func
:
silu_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
sin_grad
-
backward_
op
:
sin_grad
forward
:
sin (Tensor x) -> Tensor(out)
forward
:
sin (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2123,7 +2123,7 @@
...
@@ -2123,7 +2123,7 @@
func
:
sin_grad
func
:
sin_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
sinh_grad
-
backward_
op
:
sinh_grad
forward
:
sinh (Tensor x) -> Tensor(out)
forward
:
sinh (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2134,13 +2134,13 @@
...
@@ -2134,13 +2134,13 @@
func
:
sinh_grad
func
:
sinh_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
slice_double_grad
-
backward_
op
:
slice_double_grad
forward
:
slice_grad (Tensor input, Tensor grad_out, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis) -> Tensor(grad_input)
forward
:
slice_grad (Tensor input, Tensor grad_out, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis) -> Tensor(grad_input)
args
:
(Tensor grad_input_grad, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis)
args
:
(Tensor grad_input_grad, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
slice(grad_input_grad, axes, starts, ends, infer_flags, decrease_axis)
invoke
:
slice(grad_input_grad, axes, starts, ends, infer_flags, decrease_axis)
-
backward_
api
:
slice_grad
-
backward_
op
:
slice_grad
forward
:
slice (Tensor input, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis) -> Tensor(out)
forward
:
slice (Tensor input, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis) -> Tensor(out)
args
:
(Tensor input, Tensor out_grad, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis)
args
:
(Tensor input, Tensor out_grad, int64_t[] axes, IntArray starts, IntArray ends, int64_t[] infer_flags, int64_t[] decrease_axis)
output
:
Tensor(input_grad)
output
:
Tensor(input_grad)
...
@@ -2152,7 +2152,7 @@
...
@@ -2152,7 +2152,7 @@
backward
:
slice_double_grad
backward
:
slice_double_grad
no_need_buffer
:
input
no_need_buffer
:
input
-
backward_
api
:
slogdet_grad
-
backward_
op
:
slogdet_grad
forward
:
slogdet (Tensor x) -> Tensor(out)
forward
:
slogdet (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out, Tensor out_grad)
args
:
(Tensor x, Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2162,7 +2162,7 @@
...
@@ -2162,7 +2162,7 @@
kernel
:
kernel
:
func
:
slogdeterminant_grad
func
:
slogdeterminant_grad
-
backward_
api
:
soft_shrink_grad
-
backward_
op
:
soft_shrink_grad
forward
:
soft_shrink (Tensor x, float lambda) -> Tensor(out)
forward
:
soft_shrink (Tensor x, float lambda) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float lambda)
args
:
(Tensor x, Tensor out_grad, float lambda)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2173,7 +2173,7 @@
...
@@ -2173,7 +2173,7 @@
func
:
soft_shrink_grad
func
:
soft_shrink_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
softmax_grad
-
backward_
op
:
softmax_grad
forward
:
softmax (Tensor x, int axis) -> Tensor(out)
forward
:
softmax (Tensor x, int axis) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, int axis)
args
:
(Tensor out, Tensor out_grad, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2184,7 +2184,7 @@
...
@@ -2184,7 +2184,7 @@
func
:
softmax_grad
func
:
softmax_grad
use_gpudnn
:
true
use_gpudnn
:
true
-
backward_
api
:
softplus_grad
-
backward_
op
:
softplus_grad
forward
:
softplus (Tensor x, float beta, float threshold) -> Tensor(out)
forward
:
softplus (Tensor x, float beta, float threshold) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float beta, float threshold)
args
:
(Tensor x, Tensor out_grad, float beta, float threshold)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2195,7 +2195,7 @@
...
@@ -2195,7 +2195,7 @@
func
:
softplus_grad
func
:
softplus_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
softsign_grad
-
backward_
op
:
softsign_grad
forward
:
softsign (Tensor x) -> Tensor(out)
forward
:
softsign (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2206,7 +2206,7 @@
...
@@ -2206,7 +2206,7 @@
func
:
softsign_grad
func
:
softsign_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
spectral_norm_grad
-
backward_
op
:
spectral_norm_grad
forward
:
spectral_norm (Tensor weight, Tensor u, Tensor v, int dim, int power_iters, float eps) -> Tensor(out)
forward
:
spectral_norm (Tensor weight, Tensor u, Tensor v, int dim, int power_iters, float eps) -> Tensor(out)
args
:
(Tensor weight, Tensor u, Tensor v, Tensor out_grad, int dim, int power_iters, float eps)
args
:
(Tensor weight, Tensor u, Tensor v, Tensor out_grad, int dim, int power_iters, float eps)
output
:
Tensor(weight_grad)
output
:
Tensor(weight_grad)
...
@@ -2216,20 +2216,20 @@
...
@@ -2216,20 +2216,20 @@
func
:
spectral_norm_grad
func
:
spectral_norm_grad
data_type
:
out_grad
data_type
:
out_grad
-
backward_
api
:
split_grad
-
backward_
op
:
split_grad
forward
:
split (Tensor x, IntArray num_or_sections, Scalar axis) -> Tensor[](out)
forward
:
split (Tensor x, IntArray num_or_sections, Scalar axis) -> Tensor[](out)
args
:
(Tensor[] out_grad, Scalar axis = -1)
args
:
(Tensor[] out_grad, Scalar axis = -1)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
concat( out_grad, axis)
invoke
:
concat( out_grad, axis)
-
backward_
api
:
split_with_num_grad
-
backward_
op
:
split_with_num_grad
forward
:
split_with_num (Tensor x, int num, Scalar axis) -> Tensor[](out)
forward
:
split_with_num (Tensor x, int num, Scalar axis) -> Tensor[](out)
args
:
(Tensor[] out_grad, Scalar axis = -1)
args
:
(Tensor[] out_grad, Scalar axis = -1)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
concat( out_grad, axis)
invoke
:
concat( out_grad, axis)
# TODO(zhangyunfei) The config of double grad and triple grad will be supported in the future.
# TODO(zhangyunfei) The config of double grad and triple grad will be supported in the future.
-
backward_
api
:
sqrt_double_grad
-
backward_
op
:
sqrt_double_grad
forward
:
sqrt_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
forward
:
sqrt_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor out, Tensor grad_x, Tensor grad_x_grad)
args
:
(Tensor out, Tensor grad_x, Tensor grad_x_grad)
output
:
Tensor(out_grad), Tensor(grad_out_grad)
output
:
Tensor(out_grad), Tensor(grad_out_grad)
...
@@ -2240,7 +2240,7 @@
...
@@ -2240,7 +2240,7 @@
func
:
sqrt_double_grad
func
:
sqrt_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
sqrt_grad
-
backward_
op
:
sqrt_grad
forward
:
sqrt (Tensor x) -> Tensor(out)
forward
:
sqrt (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2252,7 +2252,7 @@
...
@@ -2252,7 +2252,7 @@
backward
:
sqrt_double_grad
backward
:
sqrt_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
square_double_grad
-
backward_
op
:
square_double_grad
forward
:
square_grad (Tensor x, Tensor grad_out) -> Tensor(grad_x)
forward
:
square_grad (Tensor x, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad)
args
:
(Tensor x, Tensor grad_out, Tensor grad_x_grad)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
output
:
Tensor(x_grad), Tensor(grad_out_grad)
...
@@ -2263,7 +2263,7 @@
...
@@ -2263,7 +2263,7 @@
func
:
square_double_grad
func
:
square_double_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
square_grad
-
backward_
op
:
square_grad
forward
:
square (Tensor x) -> Tensor(out)
forward
:
square (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2275,7 +2275,7 @@
...
@@ -2275,7 +2275,7 @@
backward
:
square_double_grad
backward
:
square_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
squared_l2_norm_grad
-
backward_
op
:
squared_l2_norm_grad
forward
:
squared_l2_norm(Tensor x) -> Tensor(out)
forward
:
squared_l2_norm(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2285,13 +2285,13 @@
...
@@ -2285,13 +2285,13 @@
kernel
:
kernel
:
func
:
squared_l2_norm_grad
func
:
squared_l2_norm_grad
-
backward_
api
:
squeeze_double_grad
-
backward_
op
:
squeeze_double_grad
forward
:
squeeze_grad(Tensor xshape, Tensor grad_out, IntArray axes) -> Tensor(grad_x)
forward
:
squeeze_grad(Tensor xshape, Tensor grad_out, IntArray axes) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray axes)
args
:
(Tensor grad_x_grad, IntArray axes)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
squeeze(grad_x_grad, axes)
invoke
:
squeeze(grad_x_grad, axes)
-
backward_
api
:
squeeze_grad
-
backward_
op
:
squeeze_grad
forward
:
squeeze(Tensor x, IntArray axes) -> Tensor(out), Tensor(xshape)
forward
:
squeeze(Tensor x, IntArray axes) -> Tensor(out), Tensor(xshape)
args
:
(Tensor xshape, Tensor out_grad, IntArray axes)
args
:
(Tensor xshape, Tensor out_grad, IntArray axes)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2303,7 +2303,7 @@
...
@@ -2303,7 +2303,7 @@
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
backward
:
squeeze_double_grad
backward
:
squeeze_double_grad
-
backward_
api
:
stack_grad
-
backward_
op
:
stack_grad
forward
:
stack (Tensor[] x, int axis) -> Tensor(out)
forward
:
stack (Tensor[] x, int axis) -> Tensor(out)
args
:
(Tensor[] x, Tensor out_grad, int axis)
args
:
(Tensor[] x, Tensor out_grad, int axis)
output
:
Tensor[](x_grad){x.size()}
output
:
Tensor[](x_grad){x.size()}
...
@@ -2315,7 +2315,7 @@
...
@@ -2315,7 +2315,7 @@
param
:
[
out_grad
,
axis
]
param
:
[
out_grad
,
axis
]
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
strided_slice_grad
-
backward_
op
:
strided_slice_grad
forward
:
strided_slice (Tensor x, int[] axes, IntArray starts, IntArray ends, IntArray strides) -> Tensor(out)
forward
:
strided_slice (Tensor x, int[] axes, IntArray starts, IntArray ends, IntArray strides) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int[] axes, IntArray starts, IntArray ends, IntArray strides)
args
:
(Tensor x, Tensor out_grad, int[] axes, IntArray starts, IntArray ends, IntArray strides)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2326,7 +2326,7 @@
...
@@ -2326,7 +2326,7 @@
func
:
strided_slice_grad
func
:
strided_slice_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
subtract_double_grad
-
backward_
op
:
subtract_double_grad
forward
:
subtract_grad (Tensor x, Tensor y, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
forward
:
subtract_grad (Tensor x, Tensor y, Tensor grad_out, int axis = -1) -> Tensor(grad_x), Tensor(grad_y)
args
:
(Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
args
:
(Tensor y, Tensor grad_out, Tensor grad_x_grad, Tensor grad_y_grad, int axis = -1)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
...
@@ -2339,7 +2339,7 @@
...
@@ -2339,7 +2339,7 @@
no_need_buffer
:
y, grad_out
no_need_buffer
:
y, grad_out
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
subtract_grad
-
backward_
op
:
subtract_grad
forward
:
subtract (Tensor x, Tensor y) -> Tensor(out)
forward
:
subtract (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis = -1)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis = -1)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -2352,13 +2352,13 @@
...
@@ -2352,13 +2352,13 @@
backward
:
subtract_double_grad
backward
:
subtract_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
sum_double_grad
-
backward_
op
:
sum_double_grad
forward
:
sum_grad (Tensor x, Tensor grad_out, IntArray dims, bool keep_dim, bool reduce_all=false) -> Tensor(grad_x)
forward
:
sum_grad (Tensor x, Tensor grad_out, IntArray dims, bool keep_dim, bool reduce_all=false) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray dims={}, bool keep_dim=false)
args
:
(Tensor grad_x_grad, IntArray dims={}, bool keep_dim=false)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
sum(grad_x_grad, dims, grad_x_grad.dtype(), keep_dim)
invoke
:
sum(grad_x_grad, dims, grad_x_grad.dtype(), keep_dim)
-
backward_
api
:
sum_grad
-
backward_
op
:
sum_grad
forward
:
sum (Tensor x, IntArray dims={}, DataType out_dtype=DataType::UNDEFINED, bool keep_dim=false) -> Tensor(out)
forward
:
sum (Tensor x, IntArray dims={}, DataType out_dtype=DataType::UNDEFINED, bool keep_dim=false) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, IntArray dims, bool keep_dim, bool reduce_all=false)
args
:
(Tensor x, Tensor out_grad, IntArray dims, bool keep_dim, bool reduce_all=false)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2370,7 +2370,7 @@
...
@@ -2370,7 +2370,7 @@
no_need_buffer
:
x
no_need_buffer
:
x
backward
:
sum_double_grad
backward
:
sum_double_grad
-
backward_
api
:
svd_grad
-
backward_
op
:
svd_grad
forward
:
svd (Tensor x, bool full) -> Tensor(u), Tensor(s), Tensor(vh)
forward
:
svd (Tensor x, bool full) -> Tensor(u), Tensor(s), Tensor(vh)
args
:
(Tensor x, Tensor u, Tensor vh, Tensor s, Tensor u_grad, Tensor vh_grad, Tensor s_grad, bool full)
args
:
(Tensor x, Tensor u, Tensor vh, Tensor s, Tensor u_grad, Tensor vh_grad, Tensor s_grad, bool full)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2381,7 +2381,7 @@
...
@@ -2381,7 +2381,7 @@
func
:
svd_grad
func
:
svd_grad
optional
:
u_grad, vh_grad, s_grad
optional
:
u_grad, vh_grad, s_grad
-
backward_
api
:
swish_grad
-
backward_
op
:
swish_grad
forward
:
swish (Tensor x, float beta=1.0) -> Tensor(out)
forward
:
swish (Tensor x, float beta=1.0) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float bete=1.0)
args
:
(Tensor x, Tensor out_grad, float bete=1.0)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2392,7 +2392,7 @@
...
@@ -2392,7 +2392,7 @@
func
:
swish_grad
func
:
swish_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
sync_batch_norm_grad
-
backward_
op
:
sync_batch_norm_grad
forward
:
sync_batch_norm_ (Tensor x, Tensor scale, Tensor bias, Tensor mean, Tensor variance, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu) -> Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
forward
:
sync_batch_norm_ (Tensor x, Tensor scale, Tensor bias, Tensor mean, Tensor variance, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu) -> Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor saved_mean, Tensor saved_variance, Tensor reserve_space, Tensor out_grad, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu)
args
:
(Tensor x, Tensor scale, Tensor bias, Tensor saved_mean, Tensor saved_variance, Tensor reserve_space, Tensor out_grad, float momentum, float epsilon, str data_layout, bool is_test, bool use_global_stats, bool trainable_statistics, bool fuse_with_relu)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
output
:
Tensor(x_grad), Tensor(scale_grad), Tensor(bias_grad)
...
@@ -2404,7 +2404,7 @@
...
@@ -2404,7 +2404,7 @@
data_type
:
out_grad
data_type
:
out_grad
optional
:
reserve_space
optional
:
reserve_space
-
backward_
api
:
take_along_axis_grad
-
backward_
op
:
take_along_axis_grad
forward
:
take_along_axis (Tensor x, Tensor index, int axis) -> Tensor(out)
forward
:
take_along_axis (Tensor x, Tensor index, int axis) -> Tensor(out)
args
:
(Tensor x, Tensor index, Tensor out_grad, int axis)
args
:
(Tensor x, Tensor index, Tensor out_grad, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2414,7 +2414,7 @@
...
@@ -2414,7 +2414,7 @@
kernel
:
kernel
:
func
:
take_along_axis_grad
func
:
take_along_axis_grad
-
backward_
api
:
tan_grad
-
backward_
op
:
tan_grad
forward
:
tan (Tensor x) -> Tensor(out)
forward
:
tan (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2425,7 +2425,7 @@
...
@@ -2425,7 +2425,7 @@
func
:
tan_grad
func
:
tan_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
tanh_double_grad
-
backward_
op
:
tanh_double_grad
forward
:
tanh_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
forward
:
tanh_grad (Tensor out, Tensor grad_out) -> Tensor(grad_x)
args
:
(Tensor out, Tensor grad_out, Tensor grad_x_grad)
args
:
(Tensor out, Tensor grad_out, Tensor grad_x_grad)
output
:
Tensor(out_grad), Tensor(grad_out_grad)
output
:
Tensor(out_grad), Tensor(grad_out_grad)
...
@@ -2437,7 +2437,7 @@
...
@@ -2437,7 +2437,7 @@
backward
:
tanh_triple_grad
backward
:
tanh_triple_grad
inplace
:
(grad_x_grad -> grad_out_grad)
inplace
:
(grad_x_grad -> grad_out_grad)
-
backward_
api
:
tanh_grad
-
backward_
op
:
tanh_grad
forward
:
tanh (Tensor x) -> Tensor(out)
forward
:
tanh (Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2449,7 +2449,7 @@
...
@@ -2449,7 +2449,7 @@
backward
:
tanh_double_grad
backward
:
tanh_double_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
tanh_shrink_grad
-
backward_
op
:
tanh_shrink_grad
forward
:
tanh_shrink (Tensor x) -> Tensor(out)
forward
:
tanh_shrink (Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2460,7 +2460,7 @@
...
@@ -2460,7 +2460,7 @@
func
:
tanh_shrink_grad
func
:
tanh_shrink_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
tanh_triple_grad
-
backward_
op
:
tanh_triple_grad
forward
:
tanh_double_grad (Tensor out, Tensor grad_out_forward, Tensor grad_x_grad_forward) -> Tensor(grad_out_new), Tensor(grad_out_grad)
forward
:
tanh_double_grad (Tensor out, Tensor grad_out_forward, Tensor grad_x_grad_forward) -> Tensor(grad_out_new), Tensor(grad_out_grad)
args
:
(Tensor out, Tensor grad_out_forward, Tensor grad_x_grad_forward, Tensor grad_out_new_grad, Tensor grad_out_grad_grad)
args
:
(Tensor out, Tensor grad_out_forward, Tensor grad_x_grad_forward, Tensor grad_out_new_grad, Tensor grad_out_grad_grad)
output
:
Tensor(out_grad), Tensor(grad_out_forward_grad), Tensor(grad_x_grad_forward_grad)
output
:
Tensor(out_grad), Tensor(grad_out_forward_grad), Tensor(grad_x_grad_forward_grad)
...
@@ -2471,7 +2471,7 @@
...
@@ -2471,7 +2471,7 @@
func
:
tanh_triple_grad
func
:
tanh_triple_grad
inplace
:
(grad_x_grad_forward -> grad_out_forward_grad)
inplace
:
(grad_x_grad_forward -> grad_out_forward_grad)
-
backward_
api
:
temporal_shift_grad
-
backward_
op
:
temporal_shift_grad
forward
:
temporal_shift(Tensor x, int seg_num, float shift_ratio, str data_format_str) -> Tensor(out)
forward
:
temporal_shift(Tensor x, int seg_num, float shift_ratio, str data_format_str) -> Tensor(out)
args
:
(Tensor out_grad, int seg_num, float shift_ratio, str data_format_str)
args
:
(Tensor out_grad, int seg_num, float shift_ratio, str data_format_str)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2481,7 +2481,7 @@
...
@@ -2481,7 +2481,7 @@
kernel
:
kernel
:
func
:
temporal_shift_grad
func
:
temporal_shift_grad
-
backward_
api
:
thresholded_relu_grad
-
backward_
op
:
thresholded_relu_grad
forward
:
thresholded_relu (Tensor x, float threshold) -> Tensor(out)
forward
:
thresholded_relu (Tensor x, float threshold) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float threshold)
args
:
(Tensor x, Tensor out_grad, float threshold)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2492,13 +2492,13 @@
...
@@ -2492,13 +2492,13 @@
func
:
thresholded_relu_grad
func
:
thresholded_relu_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
tile_double_grad
-
backward_
op
:
tile_double_grad
forward
:
tile_grad (Tensor x, Tensor grad_out, IntArray repeat_times) -> Tensor(grad_x)
forward
:
tile_grad (Tensor x, Tensor grad_out, IntArray repeat_times) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray repeat_times)
args
:
(Tensor grad_x_grad, IntArray repeat_times)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
tile(grad_x_grad, repeat_times)
invoke
:
tile(grad_x_grad, repeat_times)
-
backward_
api
:
tile_grad
-
backward_
op
:
tile_grad
forward
:
tile (Tensor x, IntArray repeat_times) -> Tensor(out)
forward
:
tile (Tensor x, IntArray repeat_times) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, IntArray repeat_times)
args
:
(Tensor x, Tensor out_grad, IntArray repeat_times)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2510,7 +2510,7 @@
...
@@ -2510,7 +2510,7 @@
no_need_buffer
:
x
no_need_buffer
:
x
backward
:
tile_double_grad
backward
:
tile_double_grad
-
backward_
api
:
top_k_grad
-
backward_
op
:
top_k_grad
forward
:
top_k (Tensor x, Scalar k, int axis = -1, bool largest =
true
, bool sorted =
true
) -> Tensor(out), Tensor(indices)
forward
:
top_k (Tensor x, Scalar k, int axis = -1, bool largest =
true
, bool sorted =
true
) -> Tensor(out), Tensor(indices)
args
:
(Tensor x, Tensor indices, Tensor out_grad, Scalar k = -1, int axis = -1, bool largest =
true
, bool sorted =
true
)
args
:
(Tensor x, Tensor indices, Tensor out_grad, Scalar k = -1, int axis = -1, bool largest =
true
, bool sorted =
true
)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2520,13 +2520,13 @@
...
@@ -2520,13 +2520,13 @@
kernel
:
kernel
:
func
:
top_k_grad
func
:
top_k_grad
-
backward_
api
:
transpose_double_grad
-
backward_
op
:
transpose_double_grad
forward
:
transpose_grad (Tensor grad_out, int[] axis) -> Tensor(grad_x)
forward
:
transpose_grad (Tensor grad_out, int[] axis) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, int[] axis)
args
:
(Tensor grad_x_grad, int[] axis)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
transpose(grad_x_grad, axis)
invoke
:
transpose(grad_x_grad, axis)
-
backward_
api
:
transpose_grad
-
backward_
op
:
transpose_grad
forward
:
transpose (Tensor x, int[] axis) -> Tensor(out)
forward
:
transpose (Tensor x, int[] axis) -> Tensor(out)
args
:
(Tensor out_grad, int[] axis)
args
:
(Tensor out_grad, int[] axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2537,7 +2537,7 @@
...
@@ -2537,7 +2537,7 @@
func
:
transpose_grad
func
:
transpose_grad
backward
:
transpose_double_grad
backward
:
transpose_double_grad
-
backward_
api
:
triangular_solve_grad
-
backward_
op
:
triangular_solve_grad
forward
:
triangular_solve (Tensor x, Tensor y, bool upper, bool tranpose, bool unitriangular) -> Tensor(out)
forward
:
triangular_solve (Tensor x, Tensor y, bool upper, bool tranpose, bool unitriangular) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, bool upper, bool tranpose, bool unitriangular)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad, bool upper, bool tranpose, bool unitriangular)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -2547,7 +2547,7 @@
...
@@ -2547,7 +2547,7 @@
kernel
:
kernel
:
func
:
triangular_solve_grad
func
:
triangular_solve_grad
-
backward_
api
:
tril_triu_grad
-
backward_
op
:
tril_triu_grad
forward
:
tril_triu(Tensor x, int diagonal, bool lower) -> Tensor(out)
forward
:
tril_triu(Tensor x, int diagonal, bool lower) -> Tensor(out)
args
:
(Tensor out_grad, int diagonal, bool lower)
args
:
(Tensor out_grad, int diagonal, bool lower)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2557,7 +2557,7 @@
...
@@ -2557,7 +2557,7 @@
kernel
:
kernel
:
func
:
tril_triu_grad
func
:
tril_triu_grad
-
backward_
api
:
trilinear_interp_grad
-
backward_
op
:
trilinear_interp_grad
forward
:
trilinear_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
forward
:
trilinear_interp (Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode) -> Tensor(output)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
args
:
(Tensor x, Tensor out_size, Tensor[] size_tensor, Tensor scale_tensor, Tensor output_grad, str data_layout, int out_d, int out_h, int out_w, float[] scale, str interp_method, bool align_corners, int align_mode)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2569,13 +2569,13 @@
...
@@ -2569,13 +2569,13 @@
func
:
trilinear_interp_grad
func
:
trilinear_interp_grad
data_type
:
output_grad
data_type
:
output_grad
-
backward_
api
:
unbind_grad
-
backward_
op
:
unbind_grad
forward
:
unbind (Tensor input, int axis) -> Tensor[](out)
forward
:
unbind (Tensor input, int axis) -> Tensor[](out)
args
:
(Tensor[] out_grad, int axis)
args
:
(Tensor[] out_grad, int axis)
output
:
Tensor(input_grad)
output
:
Tensor(input_grad)
invoke
:
stack(out_grad, axis)
invoke
:
stack(out_grad, axis)
-
backward_
api
:
unfold_grad
-
backward_
op
:
unfold_grad
forward
:
unfold (Tensor x, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations) -> Tensor(out)
forward
:
unfold (Tensor x, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations)
args
:
(Tensor x, Tensor out_grad, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2586,7 +2586,7 @@
...
@@ -2586,7 +2586,7 @@
func
:
unfold_grad
func
:
unfold_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
uniform_random_inplace_grad
-
backward_
op
:
uniform_random_inplace_grad
forward
:
uniform_random_inplace(Tensor x, float min, float max, int seed, int diag_num, int diag_step, float diag_val) -> Tensor(out)
forward
:
uniform_random_inplace(Tensor x, float min, float max, int seed, int diag_num, int diag_step, float diag_val) -> Tensor(out)
args
:
(Tensor out_grad, float min, float max, int seed, int diag_num, int diag_step, float diag_val)
args
:
(Tensor out_grad, float min, float max, int seed, int diag_num, int diag_step, float diag_val)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2596,13 +2596,13 @@
...
@@ -2596,13 +2596,13 @@
func
:
uniform_random_inplace_grad
func
:
uniform_random_inplace_grad
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
-
backward_
api
:
unsqueeze_double_grad
-
backward_
op
:
unsqueeze_double_grad
forward
:
unsqueeze_grad(Tensor xshape, Tensor grad_out, IntArray axes) -> Tensor(grad_x)
forward
:
unsqueeze_grad(Tensor xshape, Tensor grad_out, IntArray axes) -> Tensor(grad_x)
args
:
(Tensor grad_x_grad, IntArray axes)
args
:
(Tensor grad_x_grad, IntArray axes)
output
:
Tensor(grad_out_grad)
output
:
Tensor(grad_out_grad)
invoke
:
unsqueeze(grad_x_grad, axes)
invoke
:
unsqueeze(grad_x_grad, axes)
-
backward_
api
:
unsqueeze_grad
-
backward_
op
:
unsqueeze_grad
forward
:
unsqueeze(Tensor x, IntArray axes) -> Tensor(out), Tensor(xshape)
forward
:
unsqueeze(Tensor x, IntArray axes) -> Tensor(out), Tensor(xshape)
args
:
(Tensor xshape, Tensor out_grad, IntArray axes)
args
:
(Tensor xshape, Tensor out_grad, IntArray axes)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2615,7 +2615,7 @@
...
@@ -2615,7 +2615,7 @@
inplace
:
(out_grad -> x_grad)
inplace
:
(out_grad -> x_grad)
backward
:
unsqueeze_double_grad
backward
:
unsqueeze_double_grad
-
backward_
api
:
unstack_grad
-
backward_
op
:
unstack_grad
forward
:
unstack (Tensor x, int axis, int num) -> Tensor[](out)
forward
:
unstack (Tensor x, int axis, int num) -> Tensor[](out)
args
:
(Tensor[] out_grad, int axis)
args
:
(Tensor[] out_grad, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2625,7 +2625,7 @@
...
@@ -2625,7 +2625,7 @@
kernel
:
kernel
:
func
:
unstack_grad
func
:
unstack_grad
-
backward_
api
:
warpctc_grad
-
backward_
op
:
warpctc_grad
forward
:
warpctc (Tensor logits, Tensor label, Tensor logits_length, Tensor labels_length, int blank, bool norm_by_times) -> Tensor(loss), Tensor(warpctcgrad)
forward
:
warpctc (Tensor logits, Tensor label, Tensor logits_length, Tensor labels_length, int blank, bool norm_by_times) -> Tensor(loss), Tensor(warpctcgrad)
args
:
(Tensor logits, Tensor logits_length, Tensor warpctcgrad, Tensor loss_grad, int blank, bool norm_by_times)
args
:
(Tensor logits, Tensor logits_length, Tensor warpctcgrad, Tensor loss_grad, int blank, bool norm_by_times)
output
:
Tensor(logits_grad)
output
:
Tensor(logits_grad)
...
@@ -2637,7 +2637,7 @@
...
@@ -2637,7 +2637,7 @@
optional
:
logits_length
optional
:
logits_length
no_need_buffer
:
logits
no_need_buffer
:
logits
-
backward_
api
:
where_grad
-
backward_
op
:
where_grad
forward
:
where (Tensor condition, Tensor x, Tensor y) -> Tensor(out)
forward
:
where (Tensor condition, Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor condition, Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor condition, Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -2648,7 +2648,7 @@
...
@@ -2648,7 +2648,7 @@
func
:
where_grad
func
:
where_grad
no_need_buffer
:
x, y
no_need_buffer
:
x, y
-
backward_
api
:
yolov3_loss_grad
-
backward_
op
:
yolov3_loss_grad
forward
:
yolov3_loss(Tensor x, Tensor gt_box, Tensor gt_label, Tensor gt_score, int[] anchors, int[] anchor_mask, int class_num, float ignore_thresh, int downsample_ratio, bool use_label_smooth=true, float scale_x_y=1.0) -> Tensor(loss), Tensor(objectness_mask), Tensor(gt_match_mask)
forward
:
yolov3_loss(Tensor x, Tensor gt_box, Tensor gt_label, Tensor gt_score, int[] anchors, int[] anchor_mask, int class_num, float ignore_thresh, int downsample_ratio, bool use_label_smooth=true, float scale_x_y=1.0) -> Tensor(loss), Tensor(objectness_mask), Tensor(gt_match_mask)
args
:
(Tensor x, Tensor gt_box, Tensor gt_label, Tensor gt_score, Tensor objectness_mask, Tensor gt_match_mask, Tensor loss_grad, int[] anchors, int[] anchor_mask, int class_num, float ignore_thresh, int downsample_ratio, bool use_label_smooth=true, float scale_x_y=1.0)
args
:
(Tensor x, Tensor gt_box, Tensor gt_label, Tensor gt_score, Tensor objectness_mask, Tensor gt_match_mask, Tensor loss_grad, int[] anchors, int[] anchor_mask, int class_num, float ignore_thresh, int downsample_ratio, bool use_label_smooth=true, float scale_x_y=1.0)
output
:
Tensor(x_grad), Tensor(gt_box_grad), Tensor(gt_label_grad), Tensor(gt_score_grad)
output
:
Tensor(x_grad), Tensor(gt_box_grad), Tensor(gt_label_grad), Tensor(gt_score_grad)
...
@@ -2658,7 +2658,7 @@
...
@@ -2658,7 +2658,7 @@
func
:
yolov3_loss_grad
func
:
yolov3_loss_grad
optional
:
gt_score
optional
:
gt_score
-
backward_
api
:
fold_grad
-
backward_
op
:
fold_grad
forward
:
fold (Tensor x, int[] output_sizes, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations) -> Tensor(out)
forward
:
fold (Tensor x, int[] output_sizes, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, int[] output_sizes, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations)
args
:
(Tensor x, Tensor out_grad, int[] output_sizes, int[] kernel_sizes, int[] strides, int[] paddings, int[] dilations)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2669,7 +2669,7 @@
...
@@ -2669,7 +2669,7 @@
func
:
fold_grad
func
:
fold_grad
no_need_buffer
:
x
no_need_buffer
:
x
-
backward_
api
:
unpool3d_grad
-
backward_
op
:
unpool3d_grad
forward
:
unpool3d (Tensor x, Tensor indices, int[] ksize, int[] strides, int[] padding, int[] output_size, str data_format) -> Tensor(out)
forward
:
unpool3d (Tensor x, Tensor indices, int[] ksize, int[] strides, int[] padding, int[] output_size, str data_format) -> Tensor(out)
args
:
(Tensor x, Tensor indices, Tensor out, Tensor out_grad, int[] ksize, int[] strides, int[] padding, int[] output_size, str data_format)
args
:
(Tensor x, Tensor indices, Tensor out, Tensor out_grad, int[] ksize, int[] strides, int[] padding, int[] output_size, str data_format)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -2680,7 +2680,7 @@
...
@@ -2680,7 +2680,7 @@
func
:
unpool3d_grad
func
:
unpool3d_grad
data_type
:
x
data_type
:
x
-
backward_
api
:
unpool_grad
-
backward_
op
:
unpool_grad
forward
:
unpool (Tensor x, Tensor indices, int[] ksize, int[] strides, int[] padding, IntArray output_size, str data_format) -> Tensor(out)
forward
:
unpool (Tensor x, Tensor indices, int[] ksize, int[] strides, int[] padding, IntArray output_size, str data_format) -> Tensor(out)
args
:
(Tensor x, Tensor indices, Tensor out, Tensor out_grad, int[] ksize, int[] strides, int[] padding, IntArray output_size, str data_format)
args
:
(Tensor x, Tensor indices, Tensor out, Tensor out_grad, int[] ksize, int[] strides, int[] padding, IntArray output_size, str data_format)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
...
paddle/phi/api/yaml/sparse_backward.yaml
浏览文件 @
6891a4fe
-
backward_
api
:
abs_grad
-
backward_
op
:
abs_grad
forward
:
tanh(Tensor x) -> Tensor(out)
forward
:
tanh(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
func
:
abs_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
abs_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
abs_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
abs_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
acos_grad
-
backward_
op
:
acos_grad
forward
:
acos(Tensor x) -> Tensor(out)
forward
:
acos(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
func
:
acos_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
acos_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
acos_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
acos_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
acosh_grad
-
backward_
op
:
acosh_grad
forward
:
acosh(Tensor x) -> Tensor(out)
forward
:
acosh(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
func
:
acosh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
acosh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
acosh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
acosh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
add_grad
-
backward_
op
:
add_grad
forward
:
add(Tensor x, Tensor y) -> Tensor(out)
forward
:
add(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
func
:
add_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
func
:
add_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
add_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
add_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
-
backward_
api
:
addmm_grad
-
backward_
op
:
addmm_grad
forward
:
addmm(Tensor input, Tensor x, Tensor y, float alpha=1.0, float beta=1.0) -> Tensor(out)
forward
:
addmm(Tensor input, Tensor x, Tensor y, float alpha=1.0, float beta=1.0) -> Tensor(out)
args
:
(Tensor input, Tensor x, Tensor y, Tensor out_grad, float alpha=1.0, float beta=1.0)
args
:
(Tensor input, Tensor x, Tensor y, Tensor out_grad, float alpha=1.0, float beta=1.0)
output
:
Tensor(input_grad), Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(input_grad), Tensor(x_grad), Tensor(y_grad)
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
addmm_coo_dense_grad {dense, sparse_coo, dense, dense -> dense, sparse_coo, dense},
addmm_coo_dense_grad {dense, sparse_coo, dense, dense -> dense, sparse_coo, dense},
addmm_coo_coo_grad {sparse_coo, sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo, sparse_coo}
addmm_coo_coo_grad {sparse_coo, sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo, sparse_coo}
-
backward_
api
:
asin_grad
-
backward_
op
:
asin_grad
forward
:
asin(Tensor x) -> Tensor(out)
forward
:
asin(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
func
:
asin_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
asin_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
asin_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
asin_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
asinh_grad
-
backward_
op
:
asinh_grad
forward
:
asinh(Tensor x) -> Tensor(out)
forward
:
asinh(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -56,7 +56,7 @@
...
@@ -56,7 +56,7 @@
func
:
asinh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
asinh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
asinh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
asinh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
atan_grad
-
backward_
op
:
atan_grad
forward
:
atan(Tensor x) -> Tensor(out)
forward
:
atan(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -64,7 +64,7 @@
...
@@ -64,7 +64,7 @@
func
:
atan_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
atan_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
atan_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
atan_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
atanh_grad
-
backward_
op
:
atanh_grad
forward
:
atanh(Tensor x) -> Tensor(out)
forward
:
atanh(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
func
:
atanh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
atanh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
atanh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
atanh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
cast_grad
-
backward_
op
:
cast_grad
forward
:
cast(Tensor x, DataType index_dtype, DataType value_dtype) -> Tensor(out)
forward
:
cast(Tensor x, DataType index_dtype, DataType value_dtype) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, DataType value_dtype)
args
:
(Tensor x, Tensor out_grad, DataType value_dtype)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -81,14 +81,14 @@
...
@@ -81,14 +81,14 @@
cast_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
cast_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
data_type
:
out_grad
data_type
:
out_grad
-
backward_
api
:
conv3d_coo_grad
-
backward_
op
:
conv3d_coo_grad
forward
:
conv3d_coo (Tensor x, Tensor kernel, int[] paddings, int[] dilations, int[] strides, int groups, bool subm, str key) -> Tensor(out), Tensor(rulebook), Tensor(counter)
forward
:
conv3d_coo (Tensor x, Tensor kernel, int[] paddings, int[] dilations, int[] strides, int groups, bool subm, str key) -> Tensor(out), Tensor(rulebook), Tensor(counter)
args
:
(Tensor x, Tensor kernel, Tensor out, Tensor rulebook, Tensor counter, Tensor out_grad, int[] paddings, int[] dilations, int[] strides, int groups, bool subm, str key)
args
:
(Tensor x, Tensor kernel, Tensor out, Tensor rulebook, Tensor counter, Tensor out_grad, int[] paddings, int[] dilations, int[] strides, int groups, bool subm, str key)
output
:
Tensor(x_grad), Tensor(kernel_grad)
output
:
Tensor(x_grad), Tensor(kernel_grad)
kernel
:
kernel
:
func
:
conv3d_coo_grad{sparse_coo, dense, sparse_coo, dense, dense, sparse_coo -> sparse_coo, dense}
func
:
conv3d_coo_grad{sparse_coo, dense, sparse_coo, dense, dense, sparse_coo -> sparse_coo, dense}
-
backward_
api
:
divide_grad
-
backward_
op
:
divide_grad
forward
:
divide(Tensor x, Tensor y) -> Tensor(out)
forward
:
divide(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -96,13 +96,13 @@
...
@@ -96,13 +96,13 @@
func
:
divide_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
func
:
divide_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
divide_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
divide_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
-
backward_
api
:
divide_scalar_grad
-
backward_
op
:
divide_scalar_grad
forward
:
divide_scalar (Tensor x, float scalar) -> Tensor(out)
forward
:
divide_scalar (Tensor x, float scalar) -> Tensor(out)
args
:
(Tensor out_grad, float scalar)
args
:
(Tensor out_grad, float scalar)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
divide_scalar(out_grad, scalar)
invoke
:
divide_scalar(out_grad, scalar)
-
backward_
api
:
expm1_grad
-
backward_
op
:
expm1_grad
forward
:
expm1(Tensor x) -> Tensor(out)
forward
:
expm1(Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -110,7 +110,7 @@
...
@@ -110,7 +110,7 @@
func
:
expm1_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
expm1_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
expm1_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
expm1_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
leaky_relu_grad
-
backward_
op
:
leaky_relu_grad
forward
:
leaky_relu(Tensor x, float alpha) -> Tensor(out)
forward
:
leaky_relu(Tensor x, float alpha) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float alpha)
args
:
(Tensor x, Tensor out_grad, float alpha)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -118,7 +118,7 @@
...
@@ -118,7 +118,7 @@
func
:
leaky_relu_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
leaky_relu_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
leaky_relu_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
leaky_relu_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
log1p_grad
-
backward_
op
:
log1p_grad
forward
:
log1p(Tensor x) -> Tensor(out)
forward
:
log1p(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -126,14 +126,14 @@
...
@@ -126,14 +126,14 @@
func
:
log1p_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
log1p_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
log1p_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
log1p_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
masked_matmul_grad
-
backward_
op
:
masked_matmul_grad
forward
:
masked_matmul(Tensor x, Tensor y, Tensor mask) -> Tensor(out)
forward
:
masked_matmul(Tensor x, Tensor y, Tensor mask) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
kernel
:
kernel
:
func
:
masked_matmul_csr_grad{dense, dense, sparse_csr -> dense, dense}
func
:
masked_matmul_csr_grad{dense, dense, sparse_csr -> dense, dense}
-
backward_
api
:
matmul_grad
-
backward_
op
:
matmul_grad
forward
:
matmul(Tensor x, Tensor y) -> Tensor(out)
forward
:
matmul(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -143,14 +143,14 @@
...
@@ -143,14 +143,14 @@
matmul_coo_dense_grad {sparse_coo, dense, dense -> sparse_coo, dense},
matmul_coo_dense_grad {sparse_coo, dense, dense -> sparse_coo, dense},
matmul_coo_coo_grad {sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo}
matmul_coo_coo_grad {sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo}
-
backward_
api
:
maxpool_grad
-
backward_
op
:
maxpool_grad
forward
:
maxpool(Tensor x, int[] kernel_sizes, int[] paddings, int[] dilations, int[] strides) -> Tensor(out), Tensor(rulebook), Tensor(counter)
forward
:
maxpool(Tensor x, int[] kernel_sizes, int[] paddings, int[] dilations, int[] strides) -> Tensor(out), Tensor(rulebook), Tensor(counter)
args
:
(Tensor x, Tensor rulebook, Tensor counter, Tensor out, Tensor out_grad, int[] kernel_sizes)
args
:
(Tensor x, Tensor rulebook, Tensor counter, Tensor out, Tensor out_grad, int[] kernel_sizes)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
kernel
:
kernel
:
func
:
maxpool_coo_grad {sparse_coo, dense, dense, sparse_coo, sparse_coo -> sparse_coo}
func
:
maxpool_coo_grad {sparse_coo, dense, dense, sparse_coo, sparse_coo -> sparse_coo}
-
backward_
api
:
multiply_grad
-
backward_
op
:
multiply_grad
forward
:
multiply(Tensor x, Tensor y) -> Tensor(out)
forward
:
multiply(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -158,7 +158,7 @@
...
@@ -158,7 +158,7 @@
func
:
multiply_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
func
:
multiply_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
multiply_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
multiply_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
-
backward_
api
:
mv_grad
-
backward_
op
:
mv_grad
forward
:
mv(Tensor x, Tensor vec) -> Tensor(out)
forward
:
mv(Tensor x, Tensor vec) -> Tensor(out)
args
:
(Tensor x, Tensor vec, Tensor out_grad)
args
:
(Tensor x, Tensor vec, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(vec_grad)
output
:
Tensor(x_grad), Tensor(vec_grad)
...
@@ -166,7 +166,7 @@
...
@@ -166,7 +166,7 @@
func
:
mv_coo_grad{sparse_coo, dense, dense -> sparse_coo, dense},
func
:
mv_coo_grad{sparse_coo, dense, dense -> sparse_coo, dense},
mv_csr_grad{sparse_csr, dense, dense -> sparse_csr, dense}
mv_csr_grad{sparse_csr, dense, dense -> sparse_csr, dense}
-
backward_
api
:
pow_grad
-
backward_
op
:
pow_grad
forward
:
pow(Tensor x, float factor) -> Tensor(out)
forward
:
pow(Tensor x, float factor) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad, float factor)
args
:
(Tensor x, Tensor out_grad, float factor)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -174,7 +174,7 @@
...
@@ -174,7 +174,7 @@
func
:
pow_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
pow_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
pow_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
pow_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
relu6_grad
-
backward_
op
:
relu6_grad
forward
:
relu6(Tensor x, float threshold) -> Tensor(out)
forward
:
relu6(Tensor x, float threshold) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, float threshold)
args
:
(Tensor out, Tensor out_grad, float threshold)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -182,7 +182,7 @@
...
@@ -182,7 +182,7 @@
func
:
relu6_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
relu6_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
relu6_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
relu6_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
relu_grad
-
backward_
op
:
relu_grad
forward
:
relu(Tensor x) -> Tensor(out)
forward
:
relu(Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -190,13 +190,13 @@
...
@@ -190,13 +190,13 @@
func
:
relu_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
relu_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
relu_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
relu_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
scale_grad
-
backward_
op
:
scale_grad
forward
:
scale(Tensor x, float scale, float bias, bool bias_after_scale) -> Tensor(out)
forward
:
scale(Tensor x, float scale, float bias, bool bias_after_scale) -> Tensor(out)
args
:
(Tensor out_grad, float scale)
args
:
(Tensor out_grad, float scale)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
invoke
:
scale(out_grad, scale, 0.0,
true
)
invoke
:
scale(out_grad, scale, 0.0,
true
)
-
backward_
api
:
sin_grad
-
backward_
op
:
sin_grad
forward
:
sin(Tensor x) -> Tensor(out)
forward
:
sin(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -204,7 +204,7 @@
...
@@ -204,7 +204,7 @@
func
:
sin_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
sin_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
sin_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
sin_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
sinh_grad
-
backward_
op
:
sinh_grad
forward
:
sinh(Tensor x) -> Tensor(out)
forward
:
sinh(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -212,21 +212,21 @@
...
@@ -212,21 +212,21 @@
func
:
sinh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
sinh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
sinh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
sinh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
softmax_grad
-
backward_
op
:
softmax_grad
forward
:
softmax(Tensor x, int axis=-1) -> Tensor(out)
forward
:
softmax(Tensor x, int axis=-1) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad, int axis)
args
:
(Tensor out, Tensor out_grad, int axis)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
kernel
:
kernel
:
func
:
softmax_csr_grad{sparse_csr, sparse_csr -> sparse_csr}
func
:
softmax_csr_grad{sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
sparse_coo_tensor_grad
-
backward_
op
:
sparse_coo_tensor_grad
forward
:
sparse_coo_tensor(Tensor values, Tensor indices, IntArray dense_shape) -> Tensor(out)
forward
:
sparse_coo_tensor(Tensor values, Tensor indices, IntArray dense_shape) -> Tensor(out)
args
:
(Tensor indices, Tensor out_grad)
args
:
(Tensor indices, Tensor out_grad)
output
:
Tensor(values_grad)
output
:
Tensor(values_grad)
kernel
:
kernel
:
func
:
sparse_coo_tensor_grad{dense, sparse_coo -> dense}
func
:
sparse_coo_tensor_grad{dense, sparse_coo -> dense}
-
backward_
api
:
sqrt_grad
-
backward_
op
:
sqrt_grad
forward
:
sqrt(Tensor x) -> Tensor(out)
forward
:
sqrt(Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -234,7 +234,7 @@
...
@@ -234,7 +234,7 @@
func
:
sqrt_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
sqrt_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
sqrt_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
sqrt_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
square_grad
-
backward_
op
:
square_grad
forward
:
square(Tensor x) -> Tensor(out)
forward
:
square(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -242,7 +242,7 @@
...
@@ -242,7 +242,7 @@
func
:
square_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
square_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
square_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
square_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
subtract_grad
-
backward_
op
:
subtract_grad
forward
:
subtract(Tensor x, Tensor y) -> Tensor(out)
forward
:
subtract(Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad)
args
:
(Tensor x, Tensor y, Tensor out_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
...
@@ -250,7 +250,7 @@
...
@@ -250,7 +250,7 @@
func
:
subtract_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
func
:
subtract_coo_coo_grad{sparse_coo, sparse_coo, sparse_coo -> sparse_coo, sparse_coo},
subtract_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
subtract_csr_csr_grad{sparse_csr, sparse_csr, sparse_csr -> sparse_csr, sparse_csr}
-
backward_
api
:
tan_grad
-
backward_
op
:
tan_grad
forward
:
tan(Tensor x) -> Tensor(out)
forward
:
tan(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -258,7 +258,7 @@
...
@@ -258,7 +258,7 @@
func
:
tan_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
tan_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
tan_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
tan_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
tanh_grad
-
backward_
op
:
tanh_grad
forward
:
tanh(Tensor x) -> Tensor(out)
forward
:
tanh(Tensor x) -> Tensor(out)
args
:
(Tensor out, Tensor out_grad)
args
:
(Tensor out, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
...
@@ -266,28 +266,28 @@
...
@@ -266,28 +266,28 @@
func
:
tanh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
func
:
tanh_coo_grad {sparse_coo, sparse_coo -> sparse_coo},
tanh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
tanh_csr_grad {sparse_csr, sparse_csr -> sparse_csr}
-
backward_
api
:
to_dense_grad
-
backward_
op
:
to_dense_grad
forward
:
to_dense(Tensor x) -> Tensor(out)
forward
:
to_dense(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
kernel
:
kernel
:
func
:
coo_to_dense_grad{sparse_coo, dense -> sparse_coo}
func
:
coo_to_dense_grad{sparse_coo, dense -> sparse_coo}
-
backward_
api
:
to_sparse_coo_grad
-
backward_
op
:
to_sparse_coo_grad
forward
:
to_sparse_coo(Tensor x, int64_t sparse_dim) -> Tensor(out)
forward
:
to_sparse_coo(Tensor x, int64_t sparse_dim) -> Tensor(out)
args
:
(Tensor out_grad)
args
:
(Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
kernel
:
kernel
:
func
:
coo_to_dense { sparse_coo -> dense }
func
:
coo_to_dense { sparse_coo -> dense }
-
backward_
api
:
values_grad
-
backward_
op
:
values_grad
forward
:
values_coo(Tensor x) -> Tensor(out)
forward
:
values_coo(Tensor x) -> Tensor(out)
args
:
(Tensor x, Tensor out_grad)
args
:
(Tensor x, Tensor out_grad)
output
:
Tensor(x_grad)
output
:
Tensor(x_grad)
kernel
:
kernel
:
func
:
values_coo_grad{sparse_coo, dense-> sparse_coo}
func
:
values_coo_grad{sparse_coo, dense-> sparse_coo}
-
backward_
api
:
fused_attention_grad
-
backward_
op
:
fused_attention_grad
forward
:
fused_attention_csr(Tensor query, Tensor key, Tensor value, Tensor sparse_mask, Tensor key_padding_mask, Tensor attn_mask) -> Tensor(out), Tensor(softmax)
forward
:
fused_attention_csr(Tensor query, Tensor key, Tensor value, Tensor sparse_mask, Tensor key_padding_mask, Tensor attn_mask) -> Tensor(out), Tensor(softmax)
args
:
(Tensor query, Tensor key, Tensor value, Tensor softmax, Tensor out_grad)
args
:
(Tensor query, Tensor key, Tensor value, Tensor softmax, Tensor out_grad)
output
:
Tensor(query_grad), Tensor(key_grad), Tensor(value_grad)
output
:
Tensor(query_grad), Tensor(key_grad), Tensor(value_grad)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录