提交 2fb96625 编写于 作者: L liuqi

Support run on local PC.

上级 c0d16f44
...@@ -398,8 +398,8 @@ class TFConverter(object): ...@@ -398,8 +398,8 @@ class TFConverter(object):
self.add_tensor(input_names[1], gamma_value.shape, self.add_tensor(input_names[1], gamma_value.shape,
gamma_tensor.dtype, offset_value) gamma_tensor.dtype, offset_value)
op_def.input.extend([op.inputs[0].name])
if self.device == 'gpu': if self.device == 'gpu':
op_def.input.extend([op.inputs[0].name])
for name in input_names: for name in input_names:
output_name = self.add_buffer_to_image(name, "ARGUMENT") output_name = self.add_buffer_to_image(name, "ARGUMENT")
op_def.input.extend([output_name]) op_def.input.extend([output_name])
...@@ -746,6 +746,16 @@ class TFConverter(object): ...@@ -746,6 +746,16 @@ class TFConverter(object):
self.add_output_shape(op.outputs, op_def) self.add_output_shape(op.outputs, op_def)
self.resolved_ops[op.name] = 1 self.resolved_ops[op.name] = 1
def replace_in_out_name(self, input_name, output_name):
input_name = input_name + ":0"
output_name = output_name + ":0"
for op in self.net_def.op:
if len(op.input) > 0 and op.input[0] == input_name:
op.input[0] = MACE_INPUT_NODE_NAME + ":0"
if len(op.output) > 0 and op.output[0] == output_name:
op.output[0] = MACE_OUTPUT_NODE_NAME + ":0"
def convert(self, input_node, output_node): def convert(self, input_node, output_node):
if self.device == 'gpu': if self.device == 'gpu':
self.add_input_transform(input_node) self.add_input_transform(input_node)
...@@ -807,6 +817,9 @@ class TFConverter(object): ...@@ -807,6 +817,9 @@ class TFConverter(object):
if self.device == 'gpu': if self.device == 'gpu':
self.add_output_transform(output_node) self.add_output_transform(output_node)
if self.device == 'cpu':
self.replace_in_out_name(input_node, output_node)
for key in self.resolved_ops: for key in self.resolved_ops:
if self.resolved_ops[key] != 1: if self.resolved_ops[key] != 1:
print 'Unresolve Op: %s' % key print 'Unresolve Op: %s' % key
...@@ -935,9 +948,11 @@ def convert_to_mace_pb(input_graph_def, input_node, input_shape, output_node, da ...@@ -935,9 +948,11 @@ def convert_to_mace_pb(input_graph_def, input_node, input_shape, output_node, da
converter.convert(input_node, output_node) converter.convert(input_node, output_node)
optimizer = Optimizer(net_def, device) optimizer = Optimizer(net_def, device)
net_def = optimizer.optimize() net_def = optimizer.optimize()
print "PB Converted, start optimize memory." print "PB Converted."
mem_optimizer = memory_optimizer.MemoryOptimizer(net_def) if device == 'gpu':
mem_optimizer.optimize() print "start optimize memory."
print "Memory optimization done." mem_optimizer = memory_optimizer.MemoryOptimizer(net_def)
mem_optimizer.optimize()
print "Memory optimization done."
return net_def return net_def
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册