提交 dd6756dc authored 作者: carriepl's avatar carriepl

Don't filter viewed inputs in ScanInplaceOptimizer

上级 4029684e
...@@ -1110,23 +1110,16 @@ class ScanInplaceOptimizer(Optimizer): ...@@ -1110,23 +1110,16 @@ class ScanInplaceOptimizer(Optimizer):
# Get the indices of this client's inputs on which it # Get the indices of this client's inputs on which it
# operates inplace # operates inplace
inplace_inp_indices = []
if hasattr(client.op, 'view_map'):
inplace_inp_indices = sum(client.op.view_map.values(),
inplace_inp_indices)
if hasattr(client.op, 'destroy_map'): if hasattr(client.op, 'destroy_map'):
inplace_inp_indices = sum(client.op.destroy_map.values(), # This flattens the content of destroy_map.values()
inplace_inp_indices) # which is a list of lists
inplace_inp_indices = sum(client.op.destroy_map.values(), [])
for inplace_inp_idx in inplace_inp_indices: inplace_inps = [client.inputs[i] for i in inplace_inp_indices]
inplace_inp = client.inputs[inplace_inp_idx] if original_node.inputs[inp_idx] in inplace_inps:
if inplace_inp is original_node.inputs[inp_idx]:
input_used_inplace = True input_used_inplace = True
break break
if input_used_inplace:
break
if not input_used_inplace: if not input_used_inplace:
out_indices.append(out_idx) out_indices.append(out_idx)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论