Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
f7d05db7
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看板
提交
f7d05db7
编写于
10月 12, 2021
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(mge/module): fix named_tensors
GitOrigin-RevId: bb5aa1f41d3577c6b346c913337839d12f8c1559
上级
a29f1c8c
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
36 addition
and
3 deletion
+36
-3
imperative/python/megengine/module/module.py
imperative/python/megengine/module/module.py
+12
-3
imperative/python/test/unit/module/test_module.py
imperative/python/test/unit/module/test_module.py
+24
-0
未找到文件。
imperative/python/megengine/module/module.py
浏览文件 @
f7d05db7
...
...
@@ -67,6 +67,10 @@ def _is_parameter(obj):
return
isinstance
(
obj
,
Parameter
)
def
_is_tensor
(
obj
):
return
isinstance
(
obj
,
Tensor
)
def
_is_buffer
(
obj
):
return
isinstance
(
obj
,
Tensor
)
and
not
isinstance
(
obj
,
Parameter
)
...
...
@@ -309,8 +313,9 @@ class Module(metaclass=ABCMeta):
module, else only returns :class:`~.Tensor` that are direct attributes
of this module.
"""
yield
from
self
.
_flatten
(
with_key
=
False
,
recursive
=
recursive
,
**
kwargs
)
yield
from
self
.
_flatten
(
with_key
=
False
,
predicate
=
_is_tensor
,
recursive
=
recursive
,
**
kwargs
)
def
named_tensors
(
self
,
prefix
:
Optional
[
str
]
=
None
,
recursive
:
bool
=
True
,
**
kwargs
...
...
@@ -325,7 +330,11 @@ class Module(metaclass=ABCMeta):
of this module.
"""
yield
from
self
.
_flatten
(
with_key
=
True
,
prefix
=
prefix
,
recursive
=
recursive
,
**
kwargs
,
with_key
=
True
,
prefix
=
prefix
,
predicate
=
_is_tensor
,
recursive
=
recursive
,
**
kwargs
,
)
def
children
(
self
,
**
kwargs
)
->
"Iterable[Module]"
:
...
...
imperative/python/test/unit/module/test_module.py
浏览文件 @
f7d05db7
...
...
@@ -124,6 +124,30 @@ def test_module_api(test_traced_module):
(
"i.bn.weight"
,
m
.
i
.
bn
.
weight
),
(
"param"
,
m
.
param
),
]
assert
list
(
m
.
tensors
())
==
[
m
.
bn
.
bias
,
m
.
bn
.
running_mean
,
m
.
bn
.
running_var
,
m
.
bn
.
weight
,
m
.
buff
,
m
.
i
.
bn
.
bias
,
m
.
i
.
bn
.
running_mean
,
m
.
i
.
bn
.
running_var
,
m
.
i
.
bn
.
weight
,
m
.
param
,
]
assert
list
(
m
.
named_tensors
())
==
[
(
"bn.bias"
,
m
.
bn
.
bias
),
(
"bn.running_mean"
,
m
.
bn
.
running_mean
),
(
"bn.running_var"
,
m
.
bn
.
running_var
),
(
"bn.weight"
,
m
.
bn
.
weight
),
(
"buff"
,
m
.
buff
),
(
"i.bn.bias"
,
m
.
i
.
bn
.
bias
),
(
"i.bn.running_mean"
,
m
.
i
.
bn
.
running_mean
),
(
"i.bn.running_var"
,
m
.
i
.
bn
.
running_var
),
(
"i.bn.weight"
,
m
.
i
.
bn
.
weight
),
(
"param"
,
m
.
param
),
]
m
.
eval
()
assert
(
m
.
training
==
False
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录