blob: 0ea459dd6788d502b49bfcfd01d48a98e6137191 [file] [log] [blame]
Aron Virginas-Tar735a4502019-06-26 15:02:47 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
Aron Virginas-Tar735a4502019-06-26 15:02:47 +01005
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01006#pragma once
Aron Virginas-Tar735a4502019-06-26 15:02:47 +01007
Sadik Armagana097d2a2021-11-24 15:47:28 +00008#include <armnnTestUtils/LayerTestResult.hpp>
Aron Virginas-Tar735a4502019-06-26 15:02:47 +01009
10#include <ResolveType.hpp>
11
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000012#include <armnn/backends/IBackendInternal.hpp>
Colm Donelan0c479742021-12-10 12:43:54 +000013#include <armnn/backends/WorkloadFactory.hpp>
Aron Virginas-Tar735a4502019-06-26 15:02:47 +010014
15template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
Aron Virginas-Tard8edabb2019-08-12 14:29:59 +010016LayerTestResult<T, 4> SimpleTransposeConvolution2dTest(
Aron Virginas-Tar735a4502019-06-26 15:02:47 +010017 armnn::IWorkloadFactory& workloadFactory,
18 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williamsec36d3e2020-08-28 13:17:05 +010019 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar735a4502019-06-26 15:02:47 +010020 bool biasEnabled,
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +000021 const armnn::DataLayout layout);
Aron Virginas-Tar735a4502019-06-26 15:02:47 +010022
23template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
Aron Virginas-Tard8edabb2019-08-12 14:29:59 +010024LayerTestResult<T, 4> PaddedTransposeConvolution2dTest(
Aron Virginas-Tar735a4502019-06-26 15:02:47 +010025 armnn::IWorkloadFactory& workloadFactory,
26 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williamsec36d3e2020-08-28 13:17:05 +010027 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar735a4502019-06-26 15:02:47 +010028 bool biasEnabled,
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +000029 const armnn::DataLayout layout);
Aron Virginas-Tar735a4502019-06-26 15:02:47 +010030
Aron Virginas-Tard8edabb2019-08-12 14:29:59 +010031template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
32LayerTestResult<T, 4> StridedTransposeConvolution2dTest(
33 armnn::IWorkloadFactory& workloadFactory,
34 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williamsec36d3e2020-08-28 13:17:05 +010035 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tard8edabb2019-08-12 14:29:59 +010036 bool biasEnabled,
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +000037 const armnn::DataLayout layout);
Aron Virginas-Tard8edabb2019-08-12 14:29:59 +010038
39template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
40LayerTestResult<T, 4> MultiChannelTransposeConvolution2dTest(
41 armnn::IWorkloadFactory& workloadFactory,
42 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williamsec36d3e2020-08-28 13:17:05 +010043 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +000044 const armnn::DataLayout layout);
Aron Virginas-Tard8edabb2019-08-12 14:29:59 +010045
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +000046LayerTestResult<uint8_t, 4> TransposeConvolution2dPerAxisQuantTest(
47 armnn::IWorkloadFactory& workloadFactory,
48 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Finn Williamsec36d3e2020-08-28 13:17:05 +010049 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +000050 const armnn::DataLayout layout);