提交 ac4f5a58 authored 作者: Frederic's avatar Frederic

crash fixes

上级 a4ba5401
......@@ -722,7 +722,7 @@ class ProfileStats(object):
elif ins in view_of:
origin = view_of[ins]
viewed_by[origin].remove(ins)
if not viewed_by[origin]:
if not viewed_by[origin] and origin not in fgraph.inputs:
running_memory_size -= var_mem[origin]
else:
# ins is viewed_by something else, so its memory isn't freed
......@@ -773,7 +773,7 @@ class ProfileStats(object):
viewed_by = {}# {var1: [vars that view var1]}
# The len of the list is the value of python ref count. But we use a list, not just the ref count value.
# This is more safe to help detect potential bug in the algo
for var in fgraph.apply_nodes:
for var in fgraph.variables:
viewed_by[var] = []
view_of = {}# {var1: original var viewed by var1}
# The orignal mean that we don't keep trac of all the intermediate relationship in the view.
......@@ -833,7 +833,7 @@ class ProfileStats(object):
elif ins in view_of:
origin = view_of[ins]
viewed_by[origin].remove(ins)
if not viewed_by[origin]:
if not viewed_by[origin] and origin not in fgraph.inputs:
mem_freed += var_mem[origin]
else:
# ins is viewed_by something else, so its memory isn't freed
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论