Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2301_77200941
mindspore
提交
9e94d7df
M
mindspore
项目概览
2301_77200941
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9e94d7df
编写于
8月 27, 2020
作者:
S
simson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use & for map clear
上级
d4babf19
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
13 deletion
+13
-13
mindspore/ccsrc/pipeline/pynative/pynative_execute.cc
mindspore/ccsrc/pipeline/pynative/pynative_execute.cc
+13
-13
未找到文件。
mindspore/ccsrc/pipeline/pynative/pynative_execute.cc
浏览文件 @
9e94d7df
...
...
@@ -1261,11 +1261,11 @@ void PynativeExecutor::GradNetInner(const GradOperationPtr &grad, const py::obje
}
template
<
typename
T
>
void
MapClear
(
T
map
,
const
std
::
string
&
flag
)
{
for
(
auto
it
=
map
.
begin
();
it
!=
map
.
end
();)
{
void
MapClear
(
T
*
map
,
const
std
::
string
&
flag
)
{
for
(
auto
it
=
map
->
begin
();
it
!=
map
->
end
();)
{
if
(
it
->
first
.
find
(
flag
)
!=
std
::
string
::
npos
)
{
it
->
second
=
nullptr
;
it
=
map
.
erase
(
it
);
it
=
map
->
erase
(
it
);
}
else
{
it
++
;
}
...
...
@@ -1275,9 +1275,9 @@ void MapClear(T map, const std::string &flag) {
void
PynativeExecutor
::
Clear
(
const
std
::
string
&
flag
)
{
if
(
!
flag
.
empty
())
{
MS_LOG
(
DEBUG
)
<<
"Clear res"
;
MapClear
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
graph_map_
,
flag
);
MapClear
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
cell_graph_map_
,
flag
);
MapClear
<
std
::
unordered_map
<
std
::
string
,
ResourcePtr
>>
(
cell_resource_map_
,
flag
);
MapClear
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
&
graph_map_
,
flag
);
MapClear
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
&
cell_graph_map_
,
flag
);
MapClear
<
std
::
unordered_map
<
std
::
string
,
ResourcePtr
>>
(
&
cell_resource_map_
,
flag
);
Clean
();
// Maybe exit in the pynative runing op, so need reset pynative flag.
auto
ms_context
=
MsContext
::
GetInstance
();
...
...
@@ -1309,17 +1309,17 @@ void PynativeExecutor::Clean() {
}
template
<
typename
T
>
void
MapErase
(
T
map
)
{
for
(
auto
it
=
map
.
begin
();
it
!=
map
.
end
();)
{
it
=
map
.
erase
(
it
++
);
void
MapErase
(
T
*
map
)
{
for
(
auto
it
=
map
->
begin
();
it
!=
map
->
end
();)
{
it
=
map
->
erase
(
it
++
);
}
}
void
PynativeExecutor
::
ClearRes
()
{
MapErase
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
graph_map_
);
MapErase
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
cell_graph_map_
);
MapErase
<
std
::
unordered_map
<
std
::
string
,
ResourcePtr
>>
(
cell_resource_map_
);
MapErase
<
std
::
unordered_map
<
std
::
string
,
abstract
::
AbstractBasePtr
>>
(
node_abs_map_
);
MapErase
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
&
graph_map_
);
MapErase
<
std
::
unordered_map
<
std
::
string
,
FuncGraphPtr
>>
(
&
cell_graph_map_
);
MapErase
<
std
::
unordered_map
<
std
::
string
,
ResourcePtr
>>
(
&
cell_resource_map_
);
MapErase
<
std
::
unordered_map
<
std
::
string
,
abstract
::
AbstractBasePtr
>>
(
&
node_abs_map_
);
Clean
();
resource_
.
reset
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录