19 template<
typename T, std::
size_t Dim,
typename T1=
float>
25 const std::vector<T>& inputData,
26 const std::vector<T1>& expectedOutputData,
30 boost::multi_array<T, Dim> input = MakeTensor<T, Dim>(inputTensorInfo, inputData);
33 ret.outputExpected = MakeTensor<T1, Dim>(outputTensorInfo, expectedOutputData);
35 std::unique_ptr<armnn::ITensorHandle> inputHandle = workloadFactory.
CreateTensorHandle(inputTensorInfo);
36 std::unique_ptr<armnn::ITensorHandle> outputHandle = workloadFactory.
CreateTensorHandle(outputTensorInfo);
39 AddInputToWorkload(descriptor, info, inputTensorInfo, inputHandle.get());
40 AddOutputToWorkload(descriptor, info, outputTensorInfo, outputHandle.get());
42 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateDequantize(descriptor, info);
44 inputHandle->Allocate();
45 outputHandle->Allocate();
49 ExecuteWorkload(*workload, memoryManager);
70 std::vector<T> inputData = std::vector<T>(
78 std::vector<OutType> expectedOutputData;
79 for (OutType i = OutType(1); i <= OutType(12); ++i)
81 expectedOutputData.push_back(i);
84 return DequantizeTestImpl<T, 4, OutType>(workloadFactory,
93 template <armnn::DataType ArmnnInputType>
105 std::vector<T> inputData = std::vector<T>(
113 std::vector<float> expectedOutputData = std::vector<float>(
121 return DequantizeTestImpl<T, 4>(workloadFactory,
136 return DequantizeSimpleTest<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager);
143 return DequantizeOffsetTest<armnn::DataType::QAsymmU8>(workloadFactory, memoryManager);
150 return DequantizeSimpleTest<armnn::DataType::QAsymmS8>(workloadFactory, memoryManager);
157 return DequantizeOffsetTest<armnn::DataType::QAsymmS8>(workloadFactory, memoryManager);
164 return DequantizeSimpleTest<armnn::DataType::QSymmS8>(workloadFactory, memoryManager);
171 return DequantizeSimpleTest<armnn::DataType::QSymmS16>(workloadFactory, memoryManager);
178 return DequantizeSimpleTest<armnn::DataType::QAsymmU8, armnn::DataType::Float16>(workloadFactory,
186 return DequantizeSimpleTest<armnn::DataType::QSymmS8, armnn::DataType::Float16>(workloadFactory, memoryManager);
193 return DequantizeSimpleTest<armnn::DataType::QSymmS16, armnn::DataType::Float16>(workloadFactory,
LayerTestResult< float, 4 > DequantizeOffsetAsymmInt8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
typename ResolveTypeImpl< DT >::Type ResolveType
void IgnoreUnused(Ts &&...)
LayerTestResult< armnn::Half, 4 > DequantizeSimpleUint8ToFp16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< float, 4 > DequantizeSimpleUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< float, 4 > DequantizeOffsetUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< float, 4 > DequantizeSimpleAsymmInt8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const =0
LayerTestResult< armnn::Half, 4 > DequantizeSimpleInt16ToFp16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< armnn::Half, 4 > DequantizeSimpleInt8ToFp16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Contains information about inputs and outputs to a layer.
LayerTestResult< float, 4 > DequantizeSimpleInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
LayerTestResult< float, 4 > DequantizeSimpleInt8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)
virtual std::unique_ptr< IWorkload > CreateDequantize(const DequantizeQueueDescriptor &descriptor, const WorkloadInfo &info) const