From 5d7b0a314b3e354a6cbcf15f5dd78b50f1e02774 Mon Sep 17 00:00:00 2001 From: Matthew Sloyan Date: Mon, 18 Oct 2021 13:07:49 +0100 Subject: Add ConstTensorsAsInput support for Conv3d * Constant weights and biases are now stored as Constant layers. * Updated Serializer, Deserializer and unit tests to reflect this. * Updated TfLiteParser. * Updated Ref backend to handle constant weights and bias as inputs rather than reading from member variables. * Added Conv3d EndToEnd test. * Added NCDHW DataLayout and unit tests. Signed-off-by: Matthew Sloyan Change-Id: I10cdd354ca5f1c748730f92ffdb36bf810f83c8e --- .../test/layerTests/Conv3dTestImpl.hpp | 60 ++++++++++++++-------- 1 file changed, 40 insertions(+), 20 deletions(-) (limited to 'src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp') diff --git a/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp index a07c183c76..c612e19c9b 100644 --- a/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp @@ -24,118 +24,138 @@ LayerTestResult SimpleConvolution3d3x3x3Float32Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult SimpleConvolution3d3x3x3Int8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult SimpleConvolution3d3x3x3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult SimpleConvolution3d3x3x3Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Strides3x5x5Float32Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Strides3x5x5Int8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Strides3x5x5Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Strides3x5x5Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Dilation2x2x2Float32Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Dilation2x2x2Int8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Dilation2x2x2Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Dilation2x2x2Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3dPaddingSame3x3x3Float32Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3dPaddingSame3x3x3Int8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3dPaddingSame3x3x3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3dPaddingSame3x3x3Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3dStrideDilationPadding3x3x3Float32Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2Stride3x3x3SmallFloat32Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x3x3Float16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); LayerTestResult Convolution3d2x2x2SmallFloat16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::ITensorHandleFactory& tensorHandleFactory, - bool biasEnabled); + bool biasEnabled, + armnn::DataLayout dataLayout); -- cgit v1.2.1