Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
edfd38be
MegEngine
项目概览
MegEngine 天元
/
MegEngine
1 年多 前同步成功
通知
404
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看板
提交
edfd38be
编写于
11月 04, 2021
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(mge/traced_module): fix node naming in the flattened graph
GitOrigin-RevId: aa7c516725f5c0f97dc176381d85e4b0f91981dc
上级
b8776574
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
11 deletion
+19
-11
imperative/python/megengine/traced_module/traced_module.py
imperative/python/megengine/traced_module/traced_module.py
+19
-11
未找到文件。
imperative/python/megengine/traced_module/traced_module.py
浏览文件 @
edfd38be
...
@@ -1122,16 +1122,25 @@ class InternalGraph:
...
@@ -1122,16 +1122,25 @@ class InternalGraph:
self
.
__dict__
.
update
(
state
)
self
.
__dict__
.
update
(
state
)
if
old_version
:
if
old_version
:
self
.
inputs
[
0
].
_qualname
=
self
.
_qualname
for
e
in
self
.
exprs
(
False
):
if
isinstance
(
e
,
GetAttr
):
e
.
outputs
[
0
].
_qualname
=
"{}.{}"
.
format
(
e
.
inputs
[
0
].
_qualname
,
e
.
name
)
for
n
in
self
.
nodes
(
False
):
for
n
in
self
.
nodes
(
False
):
qualname
=
self
.
_qualname
if
isinstance
(
n
.
expr
,
CallMethod
)
and
isinstance
(
if
isinstance
(
n
.
expr
,
CallMethod
)
and
isinstance
(
n
.
expr
.
inputs
[
0
],
ModuleNode
n
.
expr
.
inputs
[
0
],
ModuleNode
):
):
n
.
_qualname
=
n
.
expr
.
inputs
[
0
].
_qualname
+
".[out]"
n
.
_qualname
=
n
.
expr
.
inputs
[
0
].
_qualname
+
".[out]"
continue
continue
if
n
.
_qualname
:
if
(
qualname
=
"{}.{}"
.
format
(
qualname
,
n
.
_qualname
)
not
isinstance
(
n
.
expr
,
GetAttr
)
n
.
_qualname
=
qualname
and
isinstance
(
n
,
TensorNode
)
and
n
.
_qualname
):
n
.
_qualname
=
"{}.{}"
.
format
(
self
.
_qualname
,
n
.
_qualname
)
self
.
_namespace
=
NameSpace
(
self
.
_name
,
self
.
_qualname
)
self
.
_namespace
=
NameSpace
(
self
.
_name
,
self
.
_qualname
)
self
.
_re_associate_name
()
self
.
_re_associate_name
()
...
@@ -2080,8 +2089,10 @@ class TracedModule(Module):
...
@@ -2080,8 +2089,10 @@ class TracedModule(Module):
node2obj
[
graph
.
_inputs
[
0
]]
=
module
node2obj
[
graph
.
_inputs
[
0
]]
=
module
prefix_name
=
call
.
inputs
[
0
].
_name
if
call
else
""
prefix_name
=
call
.
inputs
[
0
].
_name
if
call
else
""
exprs
=
[]
flattened_exprs
=
[]
for
expr
in
graph
.
_exprs
:
for
expr
in
graph
.
_exprs
:
exprs
=
[
expr
]
if
call
is
not
None
:
if
call
is
not
None
:
_replace_inputs_and_outputs
(
expr
,
repl_dict
)
_replace_inputs_and_outputs
(
expr
,
repl_dict
)
...
@@ -2102,10 +2113,7 @@ class TracedModule(Module):
...
@@ -2102,10 +2113,7 @@ class TracedModule(Module):
else
None
else
None
)
)
if
expr_graph
is
not
None
:
if
expr_graph
is
not
None
:
exprs
.
extend
(
exprs
=
_flatten_subgraph
(
graph
,
expr_graph
,
expr
,
obj
)
_flatten_subgraph
(
graph
,
expr_graph
,
expr
,
obj
)
)
continue
if
parent_graph
is
not
None
:
if
parent_graph
is
not
None
:
for
node
in
expr
.
outputs
:
for
node
in
expr
.
outputs
:
...
@@ -2116,13 +2124,13 @@ class TracedModule(Module):
...
@@ -2116,13 +2124,13 @@ class TracedModule(Module):
name
,
node
name
,
node
)
)
exprs
.
append
(
expr
)
flattened_exprs
.
extend
(
exprs
)
if
call
is
not
None
:
if
call
is
not
None
:
for
i
in
call
.
inputs
:
for
i
in
call
.
inputs
:
i
.
users
.
remove
(
call
)
i
.
users
.
remove
(
call
)
return
exprs
return
flattened_
exprs
new_module
.
graph
.
_exprs
=
_flatten_subgraph
(
new_module
.
graph
.
_exprs
=
_flatten_subgraph
(
None
,
new_module
.
graph
,
None
,
new_module
None
,
new_module
.
graph
,
None
,
new_module
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录