From 3cda158a84208e23ab405a4d8ae6b3636ada62e8 Mon Sep 17 00:00:00 2001 From: fuzhiye Date: Wed, 12 Aug 2020 10:11:04 +0800 Subject: [PATCH] 1.fix int8 conv non-optimize bug 2.Malloc output tensor in runtime for quant cast type op --- mindspore/lite/src/runtime/kernel/arm/nnacl/pack.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mindspore/lite/src/runtime/kernel/arm/nnacl/pack.cc b/mindspore/lite/src/runtime/kernel/arm/nnacl/pack.cc index 174ad2f4f2..5dff4415a0 100644 --- a/mindspore/lite/src/runtime/kernel/arm/nnacl/pack.cc +++ b/mindspore/lite/src/runtime/kernel/arm/nnacl/pack.cc @@ -74,7 +74,9 @@ void PackWeightInt8(int8_t *weight_data, ConvParameter *conv_param, int8_t *pack for (int m = 0; m < kernel_plane; m++) { int kernel_plane_stride = m * in_channel; - int packed_kernel_plane_stride = m * C4NUM; + int plane_block = m / C4NUM; + int plane_res = m % C4NUM; + int packed_kernel_plane_stride = plane_block * C4NUM * C4NUM * ic4 * C4NUM + plane_res * C4NUM; for (int i = 0; i < ic4; i++) { int channel_block_stride = kernel_plane_stride + i * C4NUM; int packed_channel_block_size = packed_kernel_plane_stride + i * C4NUM * C4NUM * C4NUM;