MLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't work
authorMatteo Martincigh <matteo.martincigh@arm.com>
Tue, 18 Dec 2018 09:26:39 +0000 (09:26 +0000)
committerMatteo Martincigh <matteo.martincigh@arm.com>
Fri, 4 Jan 2019 17:28:07 +0000 (17:28 +0000)
commit747ef82c88f9afe14a8b80b6b3b34118353e97f2
treea29ac33b84fb96a41103a0a97327189495374cc9
parent760892724d131c7da4b9baad05cddd49276ad6bb
MLCE-77 Depthwise Convolution with depth multiplier > 1 doesn't work

 * Unified ArmNN's weight format to [ M, I, H, W ] for the depthwise convolution
 * Added conversion utilities to permute/reshape the weights as appropriate
   when using CL and Neon backends
 * Updated the reference implementation of the convolution
 * Updated the relevant unit tests accordingly

!android-nn-driver:459

Change-Id: I07d0818efa9d1ca1e5dad82983aac1fe78eadb18
27 files changed:
src/armnn/layers/DepthwiseConvolution2dLayer.cpp
src/armnn/test/CreateWorkload.hpp
src/armnn/test/OptimizerTests.cpp
src/armnnTfLiteParser/TfLiteParser.cpp
src/armnnTfLiteParser/TfLiteParser.hpp
src/armnnTfParser/TfParser.cpp
src/armnnUtils/ParserPrototxtFixture.hpp
src/armnnUtils/Permute.cpp
src/armnnUtils/Permute.hpp
src/backends/aclCommon/ArmComputeTensorUtils.cpp
src/backends/aclCommon/ArmComputeTensorUtils.hpp
src/backends/backendsCommon/CMakeLists.txt
src/backends/backendsCommon/CpuTensorHandle.cpp
src/backends/backendsCommon/CpuTensorHandle.hpp
src/backends/backendsCommon/WorkloadData.cpp
src/backends/backendsCommon/WorkloadUtils.cpp [new file with mode: 0644]
src/backends/backendsCommon/WorkloadUtils.hpp
src/backends/backendsCommon/common.mk
src/backends/backendsCommon/test/Conv2dTestImpl.hpp
src/backends/backendsCommon/test/LayerTests.cpp
src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp
src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp
src/backends/reference/workloads/ConvImpl.hpp
src/backends/reference/workloads/RefConvolution2dFloat32Workload.cpp
src/backends/reference/workloads/RefConvolution2dUint8Workload.cpp
src/backends/reference/workloads/RefDepthwiseConvolution2dFloat32Workload.cpp
src/backends/reference/workloads/RefDepthwiseConvolution2dUint8Workload.cpp