17 template<
typename T,
size_t NumDims>
23 const std::vector<T>& inputData,
24 const std::vector<T>& outputExpectedData)
27 auto input = MakeTensor<T, NumDims>(inputTensorInfo, inputData);
30 ret.outputExpected = MakeTensor<T, NumDims>(outputTensorInfo, outputExpectedData);
33 std::unique_ptr<armnn::ITensorHandle> inputHandle = workloadFactory.
CreateTensorHandle(inputTensorInfo);
34 std::unique_ptr<armnn::ITensorHandle> outputHandle = workloadFactory.
CreateTensorHandle(outputTensorInfo);
39 AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get());
40 AddOutputToWorkload(data, info, outputTensorInfo, outputHandle.get());
42 std::unique_ptr<armnn::IWorkload> workload = workloadFactory.
CreateReshape(data, info);
44 inputHandle->Allocate();
45 outputHandle->Allocate();
58 template<armnn::DataType ArmnnType,
typename T>
66 unsigned int inputShape[] = { 2, 2, 3, 3 };
67 unsigned int outputShape[] = { 2, 2, 9, 1 };
74 auto input = ConvertToDataType<ArmnnType>(
94 auto outputExpected = ConvertToDataType<ArmnnType>(
96 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f,
98 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f,
100 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f, 26.0f,
102 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, 34.0f, 35.0f,
106 return SimpleReshapeTestImpl<T, 4>(
107 workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected);
110 template<armnn::DataType ArmnnType,
typename T>
118 unsigned int inputShape[] = { 2, 2, 8, 1, 1 };
119 unsigned int outputShape[] = { 2, 2, 2, 2, 2 };
126 auto input = ConvertToDataType<ArmnnType>(
128 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f,
129 8.0f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f,
131 16.0f, 17.0f, 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f,
132 24.0f, 25.0f, 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f,
136 auto outputExpected = ConvertToDataType<ArmnnType>(
168 return SimpleReshapeTestImpl<T, 5>(
169 workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected);
177 SimpleReshapeTest<armnn::DataType::Float32>(
182 SimpleReshapeTest<armnn::DataType::QAsymmS8>(
187 SimpleReshapeTest<armnn::DataType::QAsymmU8>(
192 SimpleReshapeTest<armnn::DataType::QSymmS16>(
196 template LayerTestResult<armnn::ResolveType<armnn::DataType::Float32>, 5>
197 Reshape5dTest<armnn::DataType::Float32>(
201 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmS8>, 5>
202 Reshape5dTest<armnn::DataType::QAsymmS8>(
206 template LayerTestResult<armnn::ResolveType<armnn::DataType::QAsymmU8>, 5>
207 Reshape5dTest<armnn::DataType::QAsymmU8>(
211 template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 5>
212 Reshape5dTest<armnn::DataType::QSymmS16>(
#define ARMNN_NO_DEPRECATE_WARN_BEGIN
void IgnoreUnused(Ts &&...)
#define ARMNN_NO_DEPRECATE_WARN_END
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
void SetQuantizationScale(float scale)
void CopyDataFromITensorHandle(void *memory, const armnn::ITensorHandle *tensorHandle)
virtual std::unique_ptr< IWorkload > CreateReshape(const ReshapeQueueDescriptor &descriptor, const WorkloadInfo &info) const
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const =0
LayerTestResult< T, 4 > SimpleReshapeTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
Contains information about inputs and outputs to a layer.
LayerTestResult< T, 5 > Reshape5dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager)
void CopyDataToITensorHandle(armnn::ITensorHandle *tensorHandle, const void *memory)