From 7420e55aefe545452639992ab1972fd355a9ed30 Mon Sep 17 00:00:00 2001 From: Mohamed Nour Abouelseoud Date: Fri, 12 Oct 2018 12:26:24 +0100 Subject: IVGCVSW-1885 add RefPadWorkload implementation and associated unit tests * Added RefPadWorkload implementation * Added unit tests and applied them to CL and Ref backends * Fixed a bug in ClPadWorkload Change-Id: I8cb76bc9d60ae8a39b08d40f05d628e3b72f6410 --- src/backends/cl/test/ClLayerTests.cpp | 5 +++++ src/backends/cl/workloads/ClPadWorkload.cpp | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src/backends/cl') diff --git a/src/backends/cl/test/ClLayerTests.cpp b/src/backends/cl/test/ClLayerTests.cpp index 58aad99750..0f8b75f50e 100755 --- a/src/backends/cl/test/ClLayerTests.cpp +++ b/src/backends/cl/test/ClLayerTests.cpp @@ -246,6 +246,11 @@ ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest) ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeFloat32Test) ARMNN_AUTO_TEST_CASE(SimpleReshapeUint8, SimpleReshapeUint8Test) +// Pad +ARMNN_AUTO_TEST_CASE(Pad2d, Pad2dTest) +ARMNN_AUTO_TEST_CASE(Pad3d, Pad3dTest) +ARMNN_AUTO_TEST_CASE(Pad4d, Pad4dTest) + // Permute ARMNN_AUTO_TEST_CASE(SimplePermuteFloat32, SimplePermuteFloat32Test) ARMNN_AUTO_TEST_CASE(SimplePermuteUint8, SimplePermuteUint8Test) diff --git a/src/backends/cl/workloads/ClPadWorkload.cpp b/src/backends/cl/workloads/ClPadWorkload.cpp index e75af83f44..3e63d5c210 100644 --- a/src/backends/cl/workloads/ClPadWorkload.cpp +++ b/src/backends/cl/workloads/ClPadWorkload.cpp @@ -22,7 +22,14 @@ ClPadWorkload::ClPadWorkload(const PadQueueDescriptor& descriptor, const Workloa arm_compute::ICLTensor& input = static_cast(this->m_Data.m_Inputs[0])->GetTensor(); arm_compute::ICLTensor& output = static_cast(this->m_Data.m_Outputs[0])->GetTensor(); - arm_compute::PaddingList padList = static_cast(descriptor.m_Parameters.m_PadList); + + std::vector> reversed_PadList(descriptor.m_Parameters.m_PadList.size()); + + std::reverse_copy(std::begin(descriptor.m_Parameters.m_PadList), + std::end(descriptor.m_Parameters.m_PadList), + std::begin(reversed_PadList)); + + arm_compute::PaddingList padList = static_cast(reversed_PadList); m_Layer.configure(&input, &output, padList); } -- cgit v1.2.1