diff options
author | Matthew Jackson <matthew.jackson@arm.com> | 2019-07-22 13:53:24 +0100 |
---|---|---|
committer | Matthew Jackson <matthew.jackson@arm.com> | 2019-07-22 15:59:13 +0100 |
commit | d6a9dee3fe584921d24a264176468898d38a6202 (patch) | |
tree | 0d1cfe34828c5c597a859b56dd6ba51e62d24c69 /src/backends/backendsCommon/test/LayerTests.cpp | |
parent | 28c94573013d7caf429601f529c6f690cd4994e2 (diff) | |
download | armnn-d6a9dee3fe584921d24a264176468898d38a6202.tar.gz |
IVGCVSW-3368 Add reference support for depthwise multiplier > 3
* Remove multiplier check in TfLite parser
* Add reference unit test for depthwise multipler of 64, as in DeepSpeaker
Signed-off-by: Matthew Jackson <matthew.jackson@arm.com>
Change-Id: I787339ab4c4d269333985353d191202d070906ba
Diffstat (limited to 'src/backends/backendsCommon/test/LayerTests.cpp')
-rw-r--r-- | src/backends/backendsCommon/test/LayerTests.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp index 03ab37dd46..d6e0e879fd 100644 --- a/src/backends/backendsCommon/test/LayerTests.cpp +++ b/src/backends/backendsCommon/test/LayerTests.cpp @@ -1498,6 +1498,38 @@ LayerTestResult<float, 4> DepthwiseConvolution2dDepthMul1Test( workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout); } +LayerTestResult<float, 4> DepthwiseConvolution2dDepthMul64Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + armnn::TensorInfo inputTensorInfo({ 1, 1, 2, 2 }, armnn::DataType::Float32); + auto input = MakeTensor<float, 4>(inputTensorInfo, { 1.f, 2.f, 3.f, 4.f }); + + std::vector<float> kernelData; + std::vector<float> singleDepthKernel{ 1.f, -1.f, -1.f, 1.f }; + for (unsigned int i = 0; i < 64; ++i) + { + kernelData.insert(kernelData.end(), singleDepthKernel.begin(), singleDepthKernel.end()); + } + armnn::TensorInfo kernelTensorInfo({ 64, 1, 2, 2 }, armnn::DataType::Float32); + auto kernel = MakeTensor<float, 4>(kernelTensorInfo, kernelData); + + std::vector<float> expectedOutputData(64, 0.f); + armnn::TensorInfo outputTensorInfo({ 1, 64, 1, 1 }, armnn::DataType::Float32); + auto expectedOutput = MakeTensor<float, 4>(outputTensorInfo, expectedOutputData); + + return DepthwiseConvolution2dTestImpl<armnn::DataType::Float32, armnn::DataType::Float32>( + workloadFactory, + memoryManager, + input, + kernel, + boost::multi_array<float, 1>(), + expectedOutput, + 0.f, + 0, + armnn::DataLayout::NCHW); +} + LayerTestResult<float, 4> DepthwiseConvolution2dAsymmetricTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |