diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2021-02-16 14:59:10 +0000 |
---|---|---|
committer | Giorgio Arena <giorgio.arena@arm.com> | 2021-02-18 09:49:02 +0000 |
commit | 7b32098ff6933f0421fab659c25620d47c33fc8a (patch) | |
tree | 98863f301c9eedbf08cb941aefdbc4c91940784b | |
parent | d70716a672125afeded8057095f06427092697d8 (diff) | |
download | armcl-7b32098ff6933f0421fab659c25620d47c33fc8a.tar.gz armcl-7b32098ff6933f0421fab659c25620d47c33fc8a.tar.bz2 armcl-7b32098ff6933f0421fab659c25620d47c33fc8a.zip |
Set _gemm_output_3d's padding as the output's in NEGEMMConvolutionLayer
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I31a51e8d28262680f9bb6f7530e28385efcb6b3b
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5090
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
-rw-r--r-- | src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp b/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp index 74ef3eef5..f3e7e1973 100644 --- a/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp +++ b/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp @@ -364,6 +364,7 @@ void NEGEMMConvolutionLayer::configure(const ITensor *input, const ITensor *weig TensorInfo info_gemm(shape_gemm, 1, output_data_type); info_gemm.set_quantization_info(output->info()->quantization_info()).set_data_layout(input->info()->data_layout()); _gemm_output.allocator()->init(info_gemm); + _gemm_output_3d.allocator()->init(info_gemm); _memory_group.manage(&_gemm_output); // Update GEMM output @@ -371,9 +372,11 @@ void NEGEMMConvolutionLayer::configure(const ITensor *input, const ITensor *weig } else { - _gemm_output.allocator()->init(*output->info()); + TensorInfo out_info{ *output->info() }; + out_info.set_data_type(output_data_type).set_data_layout(input->info()->data_layout()); + _gemm_output.allocator()->init(out_info); + _gemm_output_3d.allocator()->init(out_info); _memory_group.manage(&_gemm_output); - _gemm_output_3d.allocator()->init(*output->info()); // Update GEMM output gemm_output_to_use = &_gemm_output_3d; @@ -577,6 +580,7 @@ void NEGEMMConvolutionLayer::run() // Handle the case where output has top/bottom padding const ITensor *out_to_use = out_has_padding ? &_gemm_output : _original_output; + _gemm_output_3d.info()->extend_padding(out_to_use->info()->padding()); _gemm_output_3d.allocator()->import_memory(out_to_use->buffer()); // Runs NEGEMM or NEGEMMLowpMatrixMultiplyCore functions |