From adfd859e7191aca9159b3aa9d5d6f18e06173e26 Mon Sep 17 00:00:00 2001 From: liuqi Date: Mon, 26 Nov 2018 09:52:04 +0800 Subject: [PATCH] Add duplicate layer check for caffe converter. --- mace/python/tools/converter_tool/caffe_converter.py | 5 +++++ mace/python/tools/converter_tool/shape_inference.py | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mace/python/tools/converter_tool/caffe_converter.py b/mace/python/tools/converter_tool/caffe_converter.py index 8ce0a074..3ff2fa23 100644 --- a/mace/python/tools/converter_tool/caffe_converter.py +++ b/mace/python/tools/converter_tool/caffe_converter.py @@ -324,12 +324,17 @@ class CaffeConverter(base_converter.ConverterInterface): global_pooling_arg.i = 1 def convert_ops(self): + layer_names = set() for layer in self._caffe_layers.layer: caffe_op = self._caffe_net.get_op(layer.name) if caffe_op not in self._skip_ops: + mace_check(layer.name not in layer_names, + "There is duplicate layer name '%s' in your model" + % layer.name) mace_check(layer.type in self._op_converters, "Mace does not support caffe op type %s yet" % layer.type) + layer_names.add(layer.name) self._op_converters[layer.type](caffe_op) def add_tensor(self, name, shape, data_type, value): diff --git a/mace/python/tools/converter_tool/shape_inference.py b/mace/python/tools/converter_tool/shape_inference.py index 9478a3e5..da6541f4 100644 --- a/mace/python/tools/converter_tool/shape_inference.py +++ b/mace/python/tools/converter_tool/shape_inference.py @@ -81,7 +81,8 @@ class ShapeInference(object): def infer_shape_general(self, op): if len(op.input) > 0: mace_check(op.input[0] in self._output_shape_cache, - "%s does not exist" % op.input[0]) + "Op %s input %s does not exist" + % (op.name, op.input[0])) input_shape = self._output_shape_cache[op.input[0]] self.add_output_shape(op, [input_shape]) -- GitLab