Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
b2944559
MegEngine
项目概览
MegEngine 天元
/
MegEngine
大约 1 年 前同步成功
通知
396
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,发现更多精彩内容 >>
提交
b2944559
编写于
7月 03, 2021
作者:
M
Megvii Engine Team
提交者:
huangxinda
7月 19, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(imperative/module): remove ``__getattribute__`` method in module
GitOrigin-RevId: 5ac525f010eb0d23d3f83788709fe1360f03e9f3
上级
77ead937
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
17 addition
and
16 deletion
+17
-16
imperative/python/megengine/module/module.py
imperative/python/megengine/module/module.py
+9
-8
imperative/python/test/unit/module/test_module.py
imperative/python/test/unit/module/test_module.py
+1
-1
imperative/python/test/unit/utils/test_dump_naming.py
imperative/python/test/unit/utils/test_dump_naming.py
+7
-7
未找到文件。
imperative/python/megengine/module/module.py
浏览文件 @
b2944559
...
...
@@ -609,14 +609,6 @@ class Module(metaclass=ABCMeta):
return
set
(
loaded
),
set
(
skipped
)
def
__getattribute__
(
self
,
name
:
str
):
value
=
super
().
__getattribute__
(
name
)
if
name
==
"__dict__"
:
return
value
for
prefix
,
variable
in
_expand_structure
(
name
,
value
):
variable
.
_name
=
prefix
return
value
def
__setattr__
(
self
,
name
:
str
,
value
):
is_module_like
=
_is_module
(
value
)
or
isinstance
(
value
,
(
list
,
tuple
,
dict
))
if
name
!=
"_modules"
:
...
...
@@ -631,6 +623,15 @@ class Module(metaclass=ABCMeta):
else
:
if
modules
is
not
None
and
name
in
modules
:
modules
.
remove
(
name
)
for
k
,
v
in
_expand_structure
(
name
,
value
):
if
not
v
.
_name
:
v
.
_name
=
k
else
:
logger
.
warning
(
"try setting the submodule `{}` to a new attribute `{}`, its name `{}` will remain unchanged"
.
format
(
v
.
_name
,
k
,
v
.
_name
)
)
super
().
__setattr__
(
name
,
value
)
def
__delattr__
(
self
,
name
:
str
):
...
...
imperative/python/test/unit/module/test_module.py
浏览文件 @
b2944559
...
...
@@ -368,10 +368,10 @@ class AssertModule(Module):
def
test_assert_message
():
m
=
AssertModule
()
with
pytest
.
raises
(
AssertionError
,
match
=
"keys for Tensor and Module must be str, error key: True"
):
m
=
AssertModule
()
list
(
m
.
_flatten
())
...
...
imperative/python/test/unit/utils/test_dump_naming.py
浏览文件 @
b2944559
...
...
@@ -155,13 +155,13 @@ def test_with_submodule_in_container(symbolic):
m
=
Simple
(
"simple"
)
ops
=
_dump_and_load
(
m
,
symbolic
)
assert
ops
[
-
1
].
outputs
[
0
].
name
==
"simple.l
2.l2-1.ADD
"
assert
ops
[
-
1
].
name
==
"simple.l
2.l2-1.ADD
"
assert
ops
[
-
2
].
name
==
"simple.l
2.l2-1.MatrixMul
"
assert
ops
[
-
3
].
name
==
"simple.l
1.1.ADD
"
assert
ops
[
-
4
].
name
==
"simple.l
1.1.MatrixMul
"
assert
ops
[
-
5
].
name
==
"simple.l0.1.ADD"
assert
ops
[
-
6
].
name
==
"simple.l0.1.MatrixMul"
assert
ops
[
-
1
].
outputs
[
0
].
name
==
"simple.l
0.1.ADD[2]
"
assert
ops
[
-
1
].
name
==
"simple.l
0.1.ADD[2]
"
assert
ops
[
-
2
].
name
==
"simple.l
0.1.MatrixMul[2]
"
assert
ops
[
-
3
].
name
==
"simple.l
0.1.ADD[1]
"
assert
ops
[
-
4
].
name
==
"simple.l
0.1.MatrixMul[1]
"
assert
ops
[
-
5
].
name
==
"simple.l0.1.ADD
[0]
"
assert
ops
[
-
6
].
name
==
"simple.l0.1.MatrixMul
[0]
"
@
pytest
.
mark
.
parametrize
(
"symbolic"
,
[
False
,
True
])
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录