Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
4b7aeba4
P
Paddle
项目概览
BaiXuePrincess
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
4b7aeba4
编写于
1月 13, 2023
作者:
W
Weilong Wu
提交者:
GitHub
1月 13, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Phi] heaviside add yaml (#49807)
上级
ad4824e5
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
26 addition
and
10 deletion
+26
-10
paddle/phi/api/yaml/legacy_backward.yaml
paddle/phi/api/yaml/legacy_backward.yaml
+10
-0
paddle/phi/api/yaml/legacy_ops.yaml
paddle/phi/api/yaml/legacy_ops.yaml
+9
-0
python/paddle/fluid/tests/unittests/test_elementwise_heaviside_op.py
...le/fluid/tests/unittests/test_elementwise_heaviside_op.py
+5
-4
python/paddle/tensor/math.py
python/paddle/tensor/math.py
+2
-6
未找到文件。
paddle/phi/api/yaml/legacy_backward.yaml
浏览文件 @
4b7aeba4
...
@@ -411,6 +411,16 @@
...
@@ -411,6 +411,16 @@
kernel
:
kernel
:
func
:
einsum_grad
func
:
einsum_grad
-
backward_op
:
elementwise_heaviside_grad
forward
:
heaviside (Tensor x, Tensor y) -> Tensor(out)
args
:
(Tensor x, Tensor y, Tensor out_grad, int axis = -1)
output
:
Tensor(x_grad), Tensor(y_grad)
infer_meta
:
func
:
GeneralBinaryGradInferMeta
param
:
[
x
,
y
]
kernel
:
func
:
elementwise_heaviside_grad
-
backward_op
:
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)
...
...
paddle/phi/api/yaml/legacy_ops.yaml
浏览文件 @
4b7aeba4
...
@@ -564,6 +564,15 @@
...
@@ -564,6 +564,15 @@
func
:
einsum
func
:
einsum
backward
:
einsum_grad
backward
:
einsum_grad
-
op
:
elementwise_heaviside
args
:
(Tensor x, Tensor y)
output
:
Tensor
infer_meta
:
func
:
ElementwiseInferMeta
kernel
:
func
:
elementwise_heaviside
backward
:
elementwise_heaviside_grad
-
op
:
elementwise_pow
-
op
:
elementwise_pow
args
:
(Tensor x, Tensor y)
args
:
(Tensor x, Tensor y)
output
:
Tensor(out)
output
:
Tensor(out)
...
...
python/paddle/fluid/tests/unittests/test_elementwise_heaviside_op.py
浏览文件 @
4b7aeba4
...
@@ -32,20 +32,21 @@ class TestElementwiseOp(OpTest):
...
@@ -32,20 +32,21 @@ class TestElementwiseOp(OpTest):
self
.
op_type
=
"elementwise_heaviside"
self
.
op_type
=
"elementwise_heaviside"
x
=
np
.
random
.
random
((
13
,
17
)).
astype
(
"float64"
)
x
=
np
.
random
.
random
((
13
,
17
)).
astype
(
"float64"
)
y
=
np
.
random
.
random
((
13
,
17
)).
astype
(
"float64"
)
y
=
np
.
random
.
random
((
13
,
17
)).
astype
(
"float64"
)
self
.
python_api
=
paddle
.
heaviside
self
.
inputs
=
{
'X'
:
x
,
'Y'
:
y
}
self
.
inputs
=
{
'X'
:
x
,
'Y'
:
y
}
self
.
outputs
=
{
'Out'
:
np
.
heaviside
(
self
.
inputs
[
'X'
],
self
.
inputs
[
'Y'
])}
self
.
outputs
=
{
'Out'
:
np
.
heaviside
(
self
.
inputs
[
'X'
],
self
.
inputs
[
'Y'
])}
def
test_check_output
(
self
):
def
test_check_output
(
self
):
self
.
check_output
()
self
.
check_output
(
check_eager
=
True
)
def
test_check_grad_normal
(
self
):
def
test_check_grad_normal
(
self
):
self
.
check_grad
([
'X'
,
'Y'
],
'Out'
)
self
.
check_grad
([
'X'
,
'Y'
],
'Out'
,
check_eager
=
True
)
def
test_check_grad_ingore_x
(
self
):
def
test_check_grad_ingore_x
(
self
):
self
.
check_grad
([
'Y'
],
'Out'
,
no_grad_set
=
set
(
"X"
))
self
.
check_grad
([
'Y'
],
'Out'
,
no_grad_set
=
set
(
"X"
)
,
check_eager
=
True
)
def
test_check_grad_ingore_y
(
self
):
def
test_check_grad_ingore_y
(
self
):
self
.
check_grad
([
'X'
],
'Out'
,
no_grad_set
=
set
(
'Y'
))
self
.
check_grad
([
'X'
],
'Out'
,
no_grad_set
=
set
(
'Y'
)
,
check_eager
=
True
)
class
TestHeavisideBroadcast
(
unittest
.
TestCase
):
class
TestHeavisideBroadcast
(
unittest
.
TestCase
):
...
...
python/paddle/tensor/math.py
浏览文件 @
4b7aeba4
...
@@ -4857,14 +4857,10 @@ def heaviside(x, y, name=None):
...
@@ -4857,14 +4857,10 @@ def heaviside(x, y, name=None):
# [[0. , 0.20000000, 1. ],
# [[0. , 0.20000000, 1. ],
# [0. , 1. , 0.30000001]]
# [0. , 1. , 0.30000001]]
"""
"""
op_type
=
'elementwise_heaviside'
axis
=
-
1
act
=
None
if
in_dygraph_mode
():
if
in_dygraph_mode
():
return
_elementwise_op_in_dygraph
(
return
_C_ops
.
elementwise_heaviside
(
x
,
y
)
x
,
y
,
axis
=
axis
,
act
=
act
,
op_name
=
op_type
)
else
:
else
:
op_type
=
'elementwise_heaviside'
return
_elementwise_op
(
LayerHelper
(
op_type
,
**
locals
()))
return
_elementwise_op
(
LayerHelper
(
op_type
,
**
locals
()))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录