Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
a8309889
MegEngine
项目概览
MegEngine 天元
/
MegEngine
大约 1 年 前同步成功
通知
399
Star
4705
Fork
582
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MegEngine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a8309889
编写于
8月 02, 2021
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test(mge/utils): cover all test data
GitOrigin-RevId: e676476b9d59cc0ec717d8acb03d83cc35a35293
上级
dd1fecdf
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
37 addition
and
33 deletion
+37
-33
imperative/python/test/helpers/utils.py
imperative/python/test/helpers/utils.py
+36
-32
imperative/python/test/unit/functional/test_functional.py
imperative/python/test/unit/functional/test_functional.py
+1
-1
未找到文件。
imperative/python/test/helpers/utils.py
浏览文件 @
a8309889
...
...
@@ -94,45 +94,49 @@ def opr_test(
return
inp
,
outp
if
len
(
cases
)
==
0
:
raise
ValueError
(
"should give one case at least"
)
def
run_index
(
index
):
inp
,
outp
=
get_param
(
cases
,
index
)
inp_tensor
=
[
make_tensor
(
inpi
,
network
)
for
inpi
in
inp
]
if
not
callable
(
func
):
raise
ValueError
(
"the input func should be callable"
)
if
test_trace
and
not
network
:
copied_inp
=
inp_tensor
.
copy
()
for
symbolic
in
[
False
,
True
]:
traced_func
=
trace
(
symbolic
=
symbolic
)(
func
)
inp
,
outp
=
get_param
(
cases
,
0
)
inp_tensor
=
[
make_tensor
(
inpi
,
network
)
for
inpi
in
inp
]
for
_
in
range
(
3
):
traced_results
=
traced_func
(
*
copied_inp
,
**
kwargs
)
check_results
(
traced_results
,
outp
)
if
test_trace
and
not
network
:
copied_inp
=
inp_tensor
.
copy
()
for
symbolic
in
[
False
,
True
]:
traced_func
=
trace
(
symbolic
=
symbolic
)(
func
)
dumped_func
=
trace
(
symbolic
=
True
,
capture_as_const
=
True
)(
func
)
dumped_results
=
dumped_func
(
*
copied_inp
,
**
kwargs
)
check_results
(
dumped_results
,
outp
)
f
or
_
in
range
(
3
):
traced_results
=
traced_func
(
*
copied_inp
,
**
kwargs
)
check_results
(
traced_results
,
outp
)
f
ile
=
io
.
BytesIO
()
dump_info
=
dumped_func
.
dump
(
file
)
file
.
seek
(
0
)
dumped_func
=
trace
(
symbolic
=
True
,
capture_as_const
=
True
)(
func
)
dumped_results
=
dumped_func
(
*
copied_inp
,
**
kwargs
)
check_results
(
dumped_results
,
outp
)
# arg_name has pattern arg_xxx, xxx is int value
def
take_number
(
arg_name
):
return
int
(
arg_name
.
split
(
"_"
)[
-
1
]
)
file
=
io
.
BytesIO
()
dump_info
=
dumped_func
.
dump
(
file
)
file
.
seek
(
0
)
input_names
=
dump_info
[
4
]
inps_np
=
[
i
.
numpy
()
for
i
in
copied_inp
]
input_names
.
sort
(
key
=
take_number
)
inp_dict
=
dict
(
zip
(
input_names
,
inps_np
))
infer_cg
=
cgtools
.
GraphInference
(
file
)
# arg_name has pattern arg_xxx, xxx is int value
def
take_number
(
arg_name
):
return
int
(
arg_name
.
split
(
"_"
)[
-
1
]
)
# assume #outputs == 1
loaded_results
=
list
(
infer_cg
.
run
(
inp_dict
=
inp_dict
).
values
())[
0
]
check_results
(
loaded_results
,
outp
)
input_names
=
dump_info
[
4
]
inps_np
=
[
i
.
numpy
()
for
i
in
copied_inp
]
input_names
.
sort
(
key
=
take_number
)
inp_dict
=
dict
(
zip
(
input_names
,
inps_np
))
infer_cg
=
cgtools
.
GraphInference
(
file
)
results
=
func
(
*
inp_tensor
,
**
kwargs
)
check_results
(
results
,
outp
)
# assume #outputs == 1
loaded_results
=
list
(
infer_cg
.
run
(
inp_dict
=
inp_dict
).
values
())[
0
]
check_results
(
loaded_results
,
outp
)
if
len
(
cases
)
==
0
:
raise
ValueError
(
"should give one case at least"
)
if
not
callable
(
func
):
raise
ValueError
(
"the input func should be callable"
)
results
=
func
(
*
inp_tensor
,
**
kwargs
)
check_results
(
results
,
outp
)
for
index
in
range
(
len
(
cases
)):
run_index
(
index
)
imperative/python/test/unit/functional/test_functional.py
浏览文件 @
a8309889
...
...
@@ -79,7 +79,7 @@ def test_matinv():
opr_test
(
cases
,
F
.
matinv
,
compare_fn
=
lambda
x
,
y
:
np
.
testing
.
assert_allclose
(
x
.
numpy
(),
y
,
rtol
=
1e-
5
),
compare_fn
=
lambda
x
,
y
:
np
.
testing
.
assert_allclose
(
x
.
numpy
(),
y
,
rtol
=
1e-
4
),
ref_fn
=
np
.
linalg
.
inv
,
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录