aboutsummaryrefslogtreecommitdiff
path: root/src/backends/test/CreateWorkloadCl.cpp
diff options
context:
space:
mode:
authorJames Conroy <james.conroy@arm.com>2018-10-03 09:32:03 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-10 16:16:58 +0100
commit074f371bcd1d91c1f36b458d9ea1b050eafe5947 (patch)
tree2063f84b6e89aa112ec997c09b829ff087da4abb /src/backends/test/CreateWorkloadCl.cpp
parent5eec11db435a94ba5046ba74edc5c9c412a64e9d (diff)
downloadarmnn-074f371bcd1d91c1f36b458d9ea1b050eafe5947.tar.gz
IVGCVSW-1932: Add Unit tests for NHWC ResizeBilinear
* Adds five unit tests that execute ResizeBilinear with the NHWC data layout and Float32 data type. * Refactors original ResizeBilinear Float32 tests to take DataLayout as a parameter. * Adds four unit tests that execute CreateWorkloadCl for both NCHW and NHWC (NCHW tests did not exist for CreateWorkloadCl). Change-Id: I1af419ed0b62b8f4d4550f6d120a584a0a223b17
Diffstat (limited to 'src/backends/test/CreateWorkloadCl.cpp')
-rw-r--r--src/backends/test/CreateWorkloadCl.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/backends/test/CreateWorkloadCl.cpp b/src/backends/test/CreateWorkloadCl.cpp
index e81f844614..e7e39b0f70 100644
--- a/src/backends/test/CreateWorkloadCl.cpp
+++ b/src/backends/test/CreateWorkloadCl.cpp
@@ -596,5 +596,49 @@ BOOST_AUTO_TEST_CASE(CreateLSTMWorkloadFloatWorkload)
ClCreateLstmWorkloadTest<ClLstmFloatWorkload>();
}
+template <typename ResizeBilinearWorkloadType, typename armnn::DataType DataType>
+static void ClResizeBilinearWorkloadTest(DataLayout dataLayout)
+{
+ Graph graph;
+ ClWorkloadFactory factory;
+
+ auto workload = CreateResizeBilinearWorkloadTest<ResizeBilinearWorkloadType, DataType>(factory, graph, dataLayout);
+
+ // Checks that inputs/outputs are as we expect them (see definition of CreateResizeBilinearWorkloadTest).
+ ResizeBilinearQueueDescriptor queueDescriptor = workload->GetData();
+ auto inputHandle = boost::polymorphic_downcast<IClTensorHandle*>(queueDescriptor.m_Inputs[0]);
+ auto outputHandle = boost::polymorphic_downcast<IClTensorHandle*>(queueDescriptor.m_Outputs[0]);
+
+ switch (dataLayout)
+ {
+ case DataLayout::NHWC:
+ BOOST_TEST(CompareIClTensorHandleShape(inputHandle, { 2, 4, 4, 3 }));
+ BOOST_TEST(CompareIClTensorHandleShape(outputHandle, { 2, 2, 2, 3 }));
+ break;
+ default: // NCHW
+ BOOST_TEST(CompareIClTensorHandleShape(inputHandle, { 2, 3, 4, 4 }));
+ BOOST_TEST(CompareIClTensorHandleShape(outputHandle, { 2, 3, 2, 2 }));
+ }
+}
+
+BOOST_AUTO_TEST_CASE(CreateResizeBilinearFloat32NchwWorkload)
+{
+ ClResizeBilinearWorkloadTest<ClResizeBilinearFloatWorkload, armnn::DataType::Float32>(DataLayout::NCHW);
+}
+
+BOOST_AUTO_TEST_CASE(CreateResizeBilinearFloat16NchwWorkload)
+{
+ ClResizeBilinearWorkloadTest<ClResizeBilinearFloatWorkload, armnn::DataType::Float16>(DataLayout::NCHW);
+}
+
+BOOST_AUTO_TEST_CASE(CreateResizeBilinearFloat32NhwcWorkload)
+{
+ ClResizeBilinearWorkloadTest<ClResizeBilinearFloatWorkload, armnn::DataType::Float32>(DataLayout::NHWC);
+}
+
+BOOST_AUTO_TEST_CASE(CreateResizeBilinearFloat16NhwcWorkload)
+{
+ ClResizeBilinearWorkloadTest<ClResizeBilinearFloatWorkload, armnn::DataType::Float16>(DataLayout::NHWC);
+}
BOOST_AUTO_TEST_SUITE_END()