Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
78ec942b
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看板
未验证
提交
78ec942b
编写于
1月 31, 2023
作者:
R
RedContritio
提交者:
GitHub
1月 31, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix 空指针 (Null pointer) of case15: paddle.broadcast_tensors (#49980)
* fix incorrect output shape of broadcast * add unittest
上级
1048b166
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
6 deletion
+10
-6
paddle/phi/infermeta/multiary.cc
paddle/phi/infermeta/multiary.cc
+1
-1
python/paddle/fluid/tests/unittests/test_broadcast_tensors_op.py
...paddle/fluid/tests/unittests/test_broadcast_tensors_op.py
+9
-5
未找到文件。
paddle/phi/infermeta/multiary.cc
浏览文件 @
78ec942b
...
...
@@ -791,7 +791,7 @@ void BroadcastTensorsInferMeta(const std::vector<const MetaTensor*>& x,
// We performed bcast semantics check at python level
// So input tensors should all have legal shape
target_dim_size
=
std
::
max
(
target_dim_size
,
dim_size
)
;
target_dim_size
=
dim_size
==
1
?
target_dim_size
:
dim_size
;
}
target_dims
[
target_rank
-
index
-
1
]
=
target_dim_size
;
}
...
...
python/paddle/fluid/tests/unittests/test_broadcast_tensors_op.py
浏览文件 @
78ec942b
...
...
@@ -33,14 +33,12 @@ def find_output_shape(input_list):
rank
=
len
(
x
.
shape
)
output_rank
=
max
(
output_rank
,
rank
)
output_shape
=
[
0
for
i
in
range
(
output_rank
)]
output_shape
=
[
1
for
i
in
range
(
output_rank
)]
for
i
in
range
(
output_rank
):
for
x
in
input_list
:
shape
=
list
(
reversed
(
x
.
shape
))
size
=
1
if
i
<
len
(
shape
):
size
=
shape
[
i
]
output_shape
[
i
]
=
max
(
output_shape
[
i
],
size
)
if
i
<
len
(
shape
)
and
shape
[
i
]
!=
1
:
output_shape
[
i
]
=
shape
[
i
]
return
list
(
reversed
(
output_shape
))
...
...
@@ -80,6 +78,11 @@ def gen_mixed_tensors_test(dtype):
return
make_inputs_outputs
(
input_shapes
,
dtype
)
def
gen_empty_tensors_test
(
dtype
):
input_shapes
=
[(
0
),
(
0
),
(
0
)]
return
make_inputs_outputs
(
input_shapes
,
dtype
)
class
TestCPUBroadcastTensorsOp
(
OpTest
):
def
set_place
(
self
):
self
.
place
=
core
.
CPUPlace
()
...
...
@@ -95,6 +98,7 @@ class TestCPUBroadcastTensorsOp(OpTest):
gen_rank_diff_test
,
gen_no_broadcast_test
,
gen_mixed_tensors_test
,
gen_empty_tensors_test
,
]
self
.
set_place
()
self
.
set_dtypes
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录