From e66d5ab69978614395df345d1b1d06bf729ef245 Mon Sep 17 00:00:00 2001 From: yejianwu Date: Mon, 30 Mar 2020 10:35:58 +0800 Subject: [PATCH] fix: Caffe filter format for quantization --- tools/python/transform/transformer.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/python/transform/transformer.py b/tools/python/transform/transformer.py index 3ac310f0..bbc94f5c 100644 --- a/tools/python/transform/transformer.py +++ b/tools/python/transform/transformer.py @@ -1124,6 +1124,17 @@ class Transformer(base_converter.ConverterInterface): filter.float_data[:] = filter_data.flat filter.dims[:] = filter_data.shape transposed_filter.add(op.input[1]) + elif op.type == MaceOp.DepthwiseConv2d.name and\ + filter_format == DataFormat.OIHW and\ + self._option.device == DeviceType.CPU.value and\ + op.input[1] not in transposed_filter: + filter = self._consts[op.input[1]] + filter_data = np.array(filter.float_data).reshape( + filter.dims) + filter_data = filter_data.transpose(2, 3, 1, 0) + filter.float_data[:] = filter_data.flat + filter.dims[:] = filter_data.shape + transposed_filter.add(op.input[1]) # deconv's filter's output channel and input channel is reversed for op in net.op: if op.type == MaceOp.Deconv2D.name and \ -- GitLab