提交 8e303f5b authored 作者: Frederic Bastien's avatar Frederic Bastien

fix debugmode crash in the buildbot.

上级 e003f1e6
......@@ -522,13 +522,15 @@ def _check_inputs(node, storage_map, r_vals, dr_vals, active_nodes, clobber_dr_v
if warn_input_not_reused:
vmap=getattr(node.op,'view_map',{})
for oo,ii in vmap.iteritems():
if not _may_share_memory(storage_map[node.outputs[oo]][0],storage_map[node.inputs[ii[0]]][0]):
#when a subtensor return a tensor ofndim==0, numpy seam to return a copy.
out_var = storage_map[node.outputs[oo]][0]
in_var = storage_map[node.inputs[ii[0]]][0]
if not _may_share_memory(out_var, in_var):
#when a subtensor return a tensor of ndim==0, numpy seam to return a copy.
#when have an empty ndarray(happen with output guard) it is not the same. why?
if storage_map[node.outputs[oo]][0].ndim>0 and storage_map[node.outputs[oo]][0].size>0:
import pdb;pdb.set_trace()
_may_share_memory(storage_map[node.outputs[oo]][0],storage_map[node.inputs[ii[0]]][0])
warning("input idx %d marked as viewed but new memory allocated by node '%s'"%(ii[0],str(node)))
if hasattr(out_var,'ndim') and (out_var.ndim>0 and out_var.size>0):
continue
warning("input idx %d marked as viewed but new memory allocated by node '%s'"%(ii[0],str(node)))
for r_idx, r in enumerate(node.inputs):
if not r.type.values_eq(r_vals[r], storage_map[r][0]):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论