From 0d9d4193200e8bfbaf4cb8f32c866d5fe73a3e7e Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Tue, 9 Oct 2018 16:22:33 +0100 Subject: IVGCVSW-1974 - Update CreateWorkload test CL and Neon Change-Id: Ie02ccbd5945cbacd609b3b5d8d746c202c8e9c69 --- src/armnn/test/CreateWorkload.hpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'src/armnn/test') diff --git a/src/armnn/test/CreateWorkload.hpp b/src/armnn/test/CreateWorkload.hpp index b63e95d4cb..ada6027756 100644 --- a/src/armnn/test/CreateWorkload.hpp +++ b/src/armnn/test/CreateWorkload.hpp @@ -177,7 +177,8 @@ std::unique_ptr CreateBatchNormalizationWorkl template std::unique_ptr CreateConvolution2dWorkloadTest(armnn::IWorkloadFactory& factory, - armnn::Graph& graph) + armnn::Graph& graph, + DataLayout dataLayout = DataLayout::NCHW) { // Creates the layer we're testing. Convolution2dDescriptor layerDesc; @@ -188,10 +189,15 @@ std::unique_ptr CreateConvolution2dWorkloadTest(armnn::IW layerDesc.m_StrideX = 2; layerDesc.m_StrideY = 4; layerDesc.m_BiasEnabled = true; + layerDesc.m_DataLayout = dataLayout; Convolution2dLayer* const layer = graph.AddLayer(layerDesc, "layer"); - layer->m_Weight = std::make_unique(TensorInfo({2, 3, 5, 3}, DataType)); + TensorShape weightShape = (dataLayout == DataLayout::NCHW) ? TensorShape{2, 3, 5, 3} : TensorShape{2, 5, 3, 3}; + TensorShape inputShape = (dataLayout == DataLayout::NCHW) ? TensorShape{2, 3, 8, 16} : TensorShape{2, 8, 16, 3}; + TensorShape outputShape = (dataLayout == DataLayout::NCHW) ? TensorShape{2, 2, 2, 10} : TensorShape{2, 2, 10, 2}; + + layer->m_Weight = std::make_unique(TensorInfo(weightShape, DataType)); layer->m_Bias = std::make_unique(TensorInfo({2}, GetBiasDataType(DataType))); layer->m_Weight->Allocate(); @@ -201,9 +207,9 @@ std::unique_ptr CreateConvolution2dWorkloadTest(armnn::IW Layer* const input = graph.AddLayer(0, "input"); Layer* const output = graph.AddLayer(0, "output"); - // Connecst up. - Connect(input, layer, TensorInfo({2, 3, 8, 16}, DataType)); - Connect(layer, output, TensorInfo({2, 2, 2, 10}, DataType)); + // Connects up. + Connect(input, layer, TensorInfo(inputShape, DataType)); + Connect(layer, output, TensorInfo(outputShape, DataType)); CreateTensorHandles(graph, factory); // Makes the workload and checks it. @@ -216,11 +222,12 @@ std::unique_ptr CreateConvolution2dWorkloadTest(armnn::IW BOOST_TEST(queueDescriptor.m_Parameters.m_PadRight == 3); BOOST_TEST(queueDescriptor.m_Parameters.m_PadTop == 1); BOOST_TEST(queueDescriptor.m_Parameters.m_PadBottom == 1); - BOOST_TEST(queueDescriptor.m_Parameters.m_BiasEnabled == true); + BOOST_TEST(queueDescriptor.m_Parameters.m_BiasEnabled); + BOOST_TEST((queueDescriptor.m_Parameters.m_DataLayout == dataLayout)); BOOST_TEST(queueDescriptor.m_Inputs.size() == 1); BOOST_TEST(queueDescriptor.m_Outputs.size() == 1); - BOOST_TEST((queueDescriptor.m_Weight->GetTensorInfo() == TensorInfo({2, 3, 5, 3}, DataType))); + BOOST_TEST((queueDescriptor.m_Weight->GetTensorInfo() == TensorInfo(weightShape, DataType))); BOOST_TEST((queueDescriptor.m_Bias->GetTensorInfo() == TensorInfo({2}, GetBiasDataType(DataType)))); @@ -501,7 +508,7 @@ std::unique_ptr CreateNormalizationWorkloadTest(armnn::IW NormalizationLayer* layer = graph.AddLayer(layerDesc, "layer"); - // Creatse extra layers. + // Creates extra layers. Layer* const input = graph.AddLayer(0, "input"); Layer* const output = graph.AddLayer(0, "output"); -- cgit v1.2.1