diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2019-10-15 17:35:36 +0100 |
---|---|---|
committer | Áron Virginás-Tar <aron.virginas-tar@arm.com> | 2019-10-16 09:39:56 +0000 |
commit | 6fe5247f8997a04edfdd7c974c96a0a086ef3ab5 (patch) | |
tree | 52d6cc314797f7bf138a0b2d81491543e05b6900 /src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp | |
parent | 20bea0071d507772e303eb6f1c476bf1feac9be5 (diff) | |
download | armnn-6fe5247f8997a04edfdd7c974c96a0a086ef3ab5.tar.gz |
IVGCVSW-3991 Make Descriptor objects comparable and refactor LayerVisitor tests
* Implemented operator==() for Descriptor structs
* Refactored TestNameAndDescriptorLayerVisitor to eliminate code duplication
by using templates and taking advantage of the fact that descriptor objects
can now all be compared the same way using ==
* Cleaned up TestNameOnlylayerVisitor by moving all test cases for layers
that require a descriptor to TestNameAndDescriptorLayerVisitor
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Iee38b04d68d34a5f4ec7e5790de39ecb7ab0fb80
Diffstat (limited to 'src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp')
-rw-r--r-- | src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp | 554 |
1 files changed, 170 insertions, 384 deletions
diff --git a/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp b/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp index e2bfb01733..0b126235e8 100644 --- a/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp +++ b/src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp @@ -5,475 +5,261 @@ #include "TestNameAndDescriptorLayerVisitor.hpp" #include "Network.hpp" -namespace armnn -{ +#include <armnn/Exceptions.hpp> -void Set2dDataValues(SplitterDescriptor descriptor, uint32_t value) +namespace { - for (unsigned int i = 0; i < descriptor.GetNumViews(); ++i) - { - for (unsigned int j = 0; j < descriptor.GetNumDimensions(); ++j) - { - descriptor.SetViewOriginCoord(i, j, value); - descriptor.SetViewSize(i, j, value); - } - } -} -void Set2dDataValues(OriginsDescriptor& descriptor, uint32_t value) -{ - for (unsigned int i = 0; i < descriptor.GetNumViews(); ++i) - { - for (unsigned int j = 0; j < descriptor.GetNumDimensions(); ++j) - { - descriptor.SetViewOriginCoord(i, j, value); - } - } +#define TEST_CASE_CHECK_LAYER_VISITOR_NAME_AND_DESCRIPTOR(name) \ +BOOST_AUTO_TEST_CASE(Check##name##LayerVisitorNameAndDescriptor) \ +{ \ + const char* layerName = "name##Layer"; \ + armnn::name##Descriptor descriptor = GetDescriptor<armnn::name##Descriptor>(); \ + Test##name##LayerVisitor visitor(descriptor, layerName); \ + armnn::Network net; \ + armnn::IConnectableLayer *const layer = net.Add##name##Layer(descriptor, layerName); \ + layer->Accept(visitor); \ } -BOOST_AUTO_TEST_SUITE(TestNameAndDescriptorLayerVisitor) - -BOOST_AUTO_TEST_CASE(CheckPermuteLayerVisitorNameAndDescriptor) -{ - const char* layerName = "PermuteLayer"; - PermuteDescriptor descriptor({0, 1, 2, 3}); - TestPermuteLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddPermuteLayer(descriptor, layerName); - layer->Accept(visitor); +#define TEST_CASE_CHECK_LAYER_VISITOR_NAME_NULLPTR_AND_DESCRIPTOR(name) \ +BOOST_AUTO_TEST_CASE(Check##name##LayerVisitorNameNullptrAndDescriptor) \ +{ \ + armnn::name##Descriptor descriptor = GetDescriptor<armnn::name##Descriptor>(); \ + Test##name##LayerVisitor visitor(descriptor); \ + armnn::Network net; \ + armnn::IConnectableLayer *const layer = net.Add##name##Layer(descriptor); \ + layer->Accept(visitor); \ } -BOOST_AUTO_TEST_CASE(CheckPermuteLayerVisitorNameNullAndDescriptor) -{ - PermuteDescriptor descriptor({0, 1, 2, 3}); - TestPermuteLayerVisitor visitor(descriptor); - Network net; +#define TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(name) \ +TEST_CASE_CHECK_LAYER_VISITOR_NAME_AND_DESCRIPTOR(name) \ +TEST_CASE_CHECK_LAYER_VISITOR_NAME_NULLPTR_AND_DESCRIPTOR(name) - IConnectableLayer *const layer = net.AddPermuteLayer(descriptor); - layer->Accept(visitor); -} +template<typename Descriptor> Descriptor GetDescriptor(); -BOOST_AUTO_TEST_CASE(CheckBatchToSpaceNdLayerVisitorNameAndDescriptor) +template<> +armnn::ActivationDescriptor GetDescriptor<armnn::ActivationDescriptor>() { - const char* layerName = "BatchToSpaceNdLayer"; - BatchToSpaceNdDescriptor descriptor({1, 1}, {{0, 0}, {0, 0}}); - descriptor.m_DataLayout = armnn::DataLayout::NHWC; - TestBatchToSpaceNdLayerVisitor visitor(descriptor, layerName); - Network net; + armnn::ActivationDescriptor descriptor; + descriptor.m_Function = armnn::ActivationFunction::Linear; + descriptor.m_A = 2.0f; + descriptor.m_B = 2.0f; - IConnectableLayer *const layer = net.AddBatchToSpaceNdLayer(descriptor, layerName); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckBatchToSpaceNdLayerVisitorNameNullAndDescriptor) +template<> +armnn::ArgMinMaxDescriptor GetDescriptor<armnn::ArgMinMaxDescriptor>() { - BatchToSpaceNdDescriptor descriptor({1, 1}, {{0, 0}, {0, 0}}); - descriptor.m_DataLayout = armnn::DataLayout::NHWC; - TestBatchToSpaceNdLayerVisitor visitor(descriptor); - Network net; + armnn::ArgMinMaxDescriptor descriptor; + descriptor.m_Function = armnn::ArgMinMaxFunction::Max; + descriptor.m_Axis = 1; - IConnectableLayer *const layer = net.AddBatchToSpaceNdLayer(descriptor); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckPooling2dLayerVisitorNameAndDescriptor) +template<> +armnn::BatchToSpaceNdDescriptor GetDescriptor<armnn::BatchToSpaceNdDescriptor>() { - const char* layerName = "Pooling2dLayer"; - Pooling2dDescriptor descriptor; - descriptor.m_PoolType = PoolingAlgorithm::Max; - descriptor.m_PadLeft = 1; - descriptor.m_PadRight = 1; - descriptor.m_PadTop = 1; - descriptor.m_PadBottom = 1; - descriptor.m_PoolWidth = 1; - descriptor.m_PoolHeight = 1; - descriptor.m_StrideX = 1; - descriptor.m_StrideY = 1; - descriptor.m_OutputShapeRounding = OutputShapeRounding::Ceiling; - descriptor.m_PaddingMethod = PaddingMethod::IgnoreValue; - descriptor.m_DataLayout = DataLayout::NHWC; - TestPooling2dLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddPooling2dLayer(descriptor, layerName); - layer->Accept(visitor); + return armnn::BatchToSpaceNdDescriptor({ 1, 1 }, {{ 0, 0 }, { 0, 0 }}); } -BOOST_AUTO_TEST_CASE(CheckPooling2dLayerVisitorNameNullAndDescriptor) +template<> +armnn::ConcatDescriptor GetDescriptor<armnn::ConcatDescriptor>() { - Pooling2dDescriptor descriptor; - descriptor.m_PoolType = PoolingAlgorithm::Max; - descriptor.m_PadLeft = 1; - descriptor.m_PadRight = 1; - descriptor.m_PadTop = 1; - descriptor.m_PadBottom = 1; - descriptor.m_PoolWidth = 1; - descriptor.m_PoolHeight = 1; - descriptor.m_StrideX = 1; - descriptor.m_StrideY = 1; - descriptor.m_OutputShapeRounding = OutputShapeRounding::Ceiling; - descriptor.m_PaddingMethod = PaddingMethod::IgnoreValue; - descriptor.m_DataLayout = DataLayout::NHWC; - TestPooling2dLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddPooling2dLayer(descriptor); - layer->Accept(visitor); -} - -BOOST_AUTO_TEST_CASE(CheckActivationLayerVisitorNameAndDescriptor) -{ - const char* layerName = "ActivationLayer"; - ActivationDescriptor descriptor; - descriptor.m_Function = ActivationFunction::Linear; - descriptor.m_A = 2; - descriptor.m_B = 2; - TestActivationLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddActivationLayer(descriptor, layerName); - layer->Accept(visitor); -} - -BOOST_AUTO_TEST_CASE(CheckActivationLayerVisitorNameNullAndDescriptor) -{ - ActivationDescriptor descriptor; - descriptor.m_Function = ActivationFunction::Linear; - descriptor.m_A = 2; - descriptor.m_B = 2; - TestActivationLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddActivationLayer(descriptor); - layer->Accept(visitor); -} - -BOOST_AUTO_TEST_CASE(CheckNormalizationLayerVisitorNameAndDescriptor) -{ - const char* layerName = "NormalizationLayer"; - NormalizationDescriptor descriptor; - descriptor.m_NormChannelType = NormalizationAlgorithmChannel::Within; - descriptor.m_NormMethodType = NormalizationAlgorithmMethod::LocalContrast; - descriptor.m_NormSize = 1; - descriptor.m_Alpha = 1; - descriptor.m_Beta = 1; - descriptor.m_K = 1; - descriptor.m_DataLayout = DataLayout::NHWC; - TestNormalizationLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddNormalizationLayer(descriptor, layerName); - layer->Accept(visitor); -} - -BOOST_AUTO_TEST_CASE(CheckNormalizationLayerVisitorNameNullAndDescriptor) -{ - NormalizationDescriptor descriptor; - descriptor.m_NormChannelType = NormalizationAlgorithmChannel::Within; - descriptor.m_NormMethodType = NormalizationAlgorithmMethod::LocalContrast; - descriptor.m_NormSize = 1; - descriptor.m_Alpha = 1; - descriptor.m_Beta = 1; - descriptor.m_K = 1; - descriptor.m_DataLayout = DataLayout::NHWC; - TestNormalizationLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddNormalizationLayer(descriptor); - layer->Accept(visitor); -} + armnn::ConcatDescriptor descriptor(2, 2); + for (unsigned int i = 0u; i < descriptor.GetNumViews(); ++i) + { + for (unsigned int j = 0u; j < descriptor.GetNumDimensions(); ++j) + { + descriptor.SetViewOriginCoord(i, j, i); + } + } -BOOST_AUTO_TEST_CASE(CheckSoftmaxLayerVisitorNameAndDescriptor) -{ - const char* layerName = "SoftmaxLayer"; - SoftmaxDescriptor descriptor; - descriptor.m_Beta = 2; - TestSoftmaxLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddSoftmaxLayer(descriptor, layerName); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckSoftmaxLayerVisitorNameNullAndDescriptor) +template<> +armnn::InstanceNormalizationDescriptor GetDescriptor<armnn::InstanceNormalizationDescriptor>() { - SoftmaxDescriptor descriptor; - descriptor.m_Beta = 2; - TestSoftmaxLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddSoftmaxLayer(descriptor); - layer->Accept(visitor); -} + armnn::InstanceNormalizationDescriptor descriptor; + descriptor.m_Gamma = 1.0f; + descriptor.m_Beta = 2.0f; + descriptor.m_Eps = 0.0001f; + descriptor.m_DataLayout = armnn::DataLayout::NHWC; -BOOST_AUTO_TEST_CASE(CheckSplitterLayerVisitorNameAndDescriptor) -{ - const char* layerName = "SplitterLayer"; - SplitterDescriptor descriptor(2, 2); - Set2dDataValues(descriptor, 1); - TestSplitterLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddSplitterLayer(descriptor, layerName); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckSplitterLayerVisitorNameNullAndDescriptor) +template<> +armnn::L2NormalizationDescriptor GetDescriptor<armnn::L2NormalizationDescriptor>() { - SplitterDescriptor descriptor(2, 2); - Set2dDataValues(descriptor, 1); - TestSplitterLayerVisitor visitor(descriptor); - Network net; + armnn::L2NormalizationDescriptor descriptor; + descriptor.m_Eps = 0.0001f; + descriptor.m_DataLayout = armnn::DataLayout::NHWC; - IConnectableLayer *const layer = net.AddSplitterLayer(descriptor); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckConcatLayerVisitorNameAndDescriptor) +template<> +armnn::MeanDescriptor GetDescriptor<armnn::MeanDescriptor>() { - const char* layerName = "ConcatLayer"; - OriginsDescriptor descriptor(2, 2); - Set2dDataValues(descriptor, 1); - descriptor.SetConcatAxis(1); - TestConcatLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddConcatLayer(descriptor, layerName); - layer->Accept(visitor); + return armnn::MeanDescriptor({ 1, 2, }, true); } -BOOST_AUTO_TEST_CASE(CheckConcatLayerVisitorNameNullAndDescriptor) +template<> +armnn::NormalizationDescriptor GetDescriptor<armnn::NormalizationDescriptor>() { - OriginsDescriptor descriptor(2, 2); - Set2dDataValues(descriptor, 1); - descriptor.SetConcatAxis(1); - TestConcatLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddConcatLayer(descriptor); - layer->Accept(visitor); -} + armnn::NormalizationDescriptor descriptor; + descriptor.m_NormChannelType = armnn::NormalizationAlgorithmChannel::Within; + descriptor.m_NormMethodType = armnn::NormalizationAlgorithmMethod::LocalContrast; + descriptor.m_NormSize = 1u; + descriptor.m_Alpha = 1.0f; + descriptor.m_Beta = 1.0f; + descriptor.m_K = 1.0f; + descriptor.m_DataLayout = armnn::DataLayout::NHWC; -BOOST_AUTO_TEST_CASE(CheckResizeLayerVisitorNameAndDescriptor) -{ - const char* layerName = "ResizeLayer"; - ResizeDescriptor descriptor; - descriptor.m_TargetHeight = 1; - descriptor.m_TargetWidth = 1; - descriptor.m_DataLayout = DataLayout::NHWC; - TestResizeLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddResizeLayer(descriptor, layerName); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckResizeLayerVisitorNameNullAndDescriptor) +template<> +armnn::PadDescriptor GetDescriptor<armnn::PadDescriptor>() { - ResizeDescriptor descriptor; - descriptor.m_TargetHeight = 1; - descriptor.m_TargetWidth = 1; - descriptor.m_DataLayout = DataLayout::NHWC; - TestResizeLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddResizeLayer(descriptor); - layer->Accept(visitor); + return armnn::PadDescriptor({{ 1, 2 }, { 3, 4 }}); } -BOOST_AUTO_TEST_CASE(CheckInstanceNormalizationLayerVisitorNameAndDescriptor) +template<> +armnn::PermuteDescriptor GetDescriptor<armnn::PermuteDescriptor>() { - const char* layerName = "InstanceNormalizationLayer"; - InstanceNormalizationDescriptor descriptor; - descriptor.m_DataLayout = DataLayout::NHWC; - TestInstanceNormalizationLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddInstanceNormalizationLayer(descriptor, layerName); - layer->Accept(visitor); + return armnn::PermuteDescriptor({ 0, 1, 2, 3 }); } -BOOST_AUTO_TEST_CASE(CheckInstanceNormalizationLayerVisitorNameNullAndDescriptor) +template<> +armnn::Pooling2dDescriptor GetDescriptor<armnn::Pooling2dDescriptor>() { - InstanceNormalizationDescriptor descriptor; - descriptor.m_DataLayout = DataLayout::NHWC; - TestInstanceNormalizationLayerVisitor visitor(descriptor); - Network net; + armnn::Pooling2dDescriptor descriptor; + descriptor.m_PoolType = armnn::PoolingAlgorithm::Max; + descriptor.m_PadLeft = 1u; + descriptor.m_PadRight = 1u; + descriptor.m_PadTop = 1u; + descriptor.m_PadBottom = 1u; + descriptor.m_PoolWidth = 1u; + descriptor.m_PoolHeight = 1u; + descriptor.m_StrideX = 1u; + descriptor.m_StrideY = 1u; + descriptor.m_OutputShapeRounding = armnn::OutputShapeRounding::Ceiling; + descriptor.m_PaddingMethod = armnn::PaddingMethod::IgnoreValue; + descriptor.m_DataLayout = armnn::DataLayout::NHWC; - IConnectableLayer *const layer = net.AddInstanceNormalizationLayer(descriptor); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckL2NormalizationLayerVisitorNameAndDescriptor) +template<> +armnn::ReshapeDescriptor GetDescriptor<armnn::ReshapeDescriptor>() { - const char* layerName = "L2NormalizationLayer"; - L2NormalizationDescriptor descriptor; - descriptor.m_DataLayout = DataLayout::NHWC; - TestL2NormalizationLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddL2NormalizationLayer(descriptor, layerName); - layer->Accept(visitor); + return armnn::ReshapeDescriptor({ 1, 2, 3, 4 }); } -BOOST_AUTO_TEST_CASE(CheckL2NormalizationLayerVisitorNameNullAndDescriptor) +template<> +armnn::ResizeDescriptor GetDescriptor<armnn::ResizeDescriptor>() { - L2NormalizationDescriptor descriptor; - descriptor.m_DataLayout = DataLayout::NHWC; - TestL2NormalizationLayerVisitor visitor(descriptor); - Network net; + armnn::ResizeDescriptor descriptor; + descriptor.m_TargetHeight = 1u; + descriptor.m_TargetWidth = 1u; + descriptor.m_DataLayout = armnn::DataLayout::NHWC; - IConnectableLayer *const layer = net.AddL2NormalizationLayer(descriptor); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckLogSoftmaxLayerVisitorNameAndDescriptor) +template<> +armnn::SliceDescriptor GetDescriptor<armnn::SliceDescriptor>() { - const char* layerName = "LogSoftmaxLayer"; - - LogSoftmaxDescriptor descriptor; - descriptor.m_Beta = 2.0f; - descriptor.m_Axis = 1; - - TestLogSoftmaxLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddLogSoftmaxLayer(descriptor, layerName); - layer->Accept(visitor); + return armnn::SliceDescriptor({ 1, 1 }, { 2, 2 }); } -BOOST_AUTO_TEST_CASE(CheckLogSoftmaxLayerVisitorNameNullAndDescriptor) +template<> +armnn::SoftmaxDescriptor GetDescriptor<armnn::SoftmaxDescriptor>() { - LogSoftmaxDescriptor descriptor; + armnn::SoftmaxDescriptor descriptor; descriptor.m_Beta = 2.0f; - descriptor.m_Axis = 1; - - TestLogSoftmaxLayerVisitor visitor(descriptor); - Network net; + descriptor.m_Axis = -1; - IConnectableLayer *const layer = net.AddLogSoftmaxLayer(descriptor); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckReshapeLayerVisitorNameAndDescriptor) +template<> +armnn::SpaceToBatchNdDescriptor GetDescriptor<armnn::SpaceToBatchNdDescriptor>() { - const char* layerName = "ReshapeLayer"; - ReshapeDescriptor descriptor({1, 2, 3, 4}); - TestReshapeLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddReshapeLayer(descriptor, layerName); - layer->Accept(visitor); + return armnn::SpaceToBatchNdDescriptor({ 2, 2 }, {{ 1, 1 } , { 1, 1 }}); } -BOOST_AUTO_TEST_CASE(CheckReshapeLayerVisitorNameNullAndDescriptor) +template<> +armnn::SpaceToDepthDescriptor GetDescriptor<armnn::SpaceToDepthDescriptor>() { - ReshapeDescriptor descriptor({1, 2, 3, 4}); - TestReshapeLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddReshapeLayer(descriptor); - layer->Accept(visitor); + return armnn::SpaceToDepthDescriptor(2, armnn::DataLayout::NHWC); } -BOOST_AUTO_TEST_CASE(CheckSpaceToBatchNdLayerVisitorNameAndDescriptor) +template<> +armnn::SplitterDescriptor GetDescriptor<armnn::SplitterDescriptor>() { - const char* layerName = "SpaceToBatchNdLayer"; - SpaceToBatchNdDescriptor descriptor({2, 2}, {{1, 1}, {1, 1}}); - TestSpaceToBatchNdLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddSpaceToBatchNdLayer(descriptor, layerName); - layer->Accept(visitor); -} - -BOOST_AUTO_TEST_CASE(CheckSpaceToBatchNdLayerVisitorNameNullAndDescriptor) -{ - SpaceToBatchNdDescriptor descriptor({2, 2}, {{1, 1}, {1, 1}}); - TestSpaceToBatchNdLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddSpaceToBatchNdLayer(descriptor); - layer->Accept(visitor); -} - - -BOOST_AUTO_TEST_CASE(CheckMeanLayerVisitorNameAndDescriptor) -{ - const char* layerName = "MeanLayer"; - MeanDescriptor descriptor({1, 2}, false); - TestMeanLayerVisitor visitor(descriptor, layerName); - Network net; - - IConnectableLayer *const layer = net.AddMeanLayer(descriptor, layerName); - layer->Accept(visitor); -} - -BOOST_AUTO_TEST_CASE(CheckMeanLayerVisitorNameNullAndDescriptor) -{ - MeanDescriptor descriptor({1, 2}, false); - TestMeanLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddMeanLayer(descriptor); - layer->Accept(visitor); -} - -BOOST_AUTO_TEST_CASE(CheckPadLayerVisitorNameAndDescriptor) -{ - const char* layerName = "PadLayer"; - PadDescriptor descriptor({{1, 2}, {3, 4}}); - TestPadLayerVisitor visitor(descriptor, layerName); - Network net; + armnn::SplitterDescriptor descriptor(2, 2); + for (unsigned int i = 0u; i < descriptor.GetNumViews(); ++i) + { + for (unsigned int j = 0u; j < descriptor.GetNumDimensions(); ++j) + { + descriptor.SetViewOriginCoord(i, j, i); + descriptor.SetViewSize(i, j, 1); + } + } - IConnectableLayer *const layer = net.AddPadLayer(descriptor, layerName); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckPadLayerVisitorNameNullAndDescriptor) +template<> +armnn::StackDescriptor GetDescriptor<armnn::StackDescriptor>() { - PadDescriptor descriptor({{1, 2}, {3, 4}}); - TestPadLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddPadLayer(descriptor); - layer->Accept(visitor); + return armnn::StackDescriptor(1, 2, { 2, 2 }); } -BOOST_AUTO_TEST_CASE(CheckStridedSliceLayerVisitorNameAndDescriptor) +template<> +armnn::StridedSliceDescriptor GetDescriptor<armnn::StridedSliceDescriptor>() { - const char* layerName = "StridedSliceLayer"; - StridedSliceDescriptor descriptor({1, 2}, {3, 4}, {3, 4}); + armnn::StridedSliceDescriptor descriptor({ 1, 2 }, { 3, 4 }, { 3, 4 }); descriptor.m_BeginMask = 1; descriptor.m_EndMask = 1; descriptor.m_ShrinkAxisMask = 1; descriptor.m_EllipsisMask = 1; descriptor.m_NewAxisMask = 1; - descriptor.m_DataLayout = DataLayout::NHWC; - TestStridedSliceLayerVisitor visitor(descriptor, layerName); - Network net; + descriptor.m_DataLayout = armnn::DataLayout::NHWC; - IConnectableLayer *const layer = net.AddStridedSliceLayer(descriptor, layerName); - layer->Accept(visitor); + return descriptor; } -BOOST_AUTO_TEST_CASE(CheckStridedSliceLayerVisitorNameNullAndDescriptor) -{ - StridedSliceDescriptor descriptor({1, 2}, {3, 4}, {3, 4}); - descriptor.m_BeginMask = 1; - descriptor.m_EndMask = 1; - descriptor.m_ShrinkAxisMask = 1; - descriptor.m_EllipsisMask = 1; - descriptor.m_NewAxisMask = 1; - descriptor.m_DataLayout = DataLayout::NHWC; - TestStridedSliceLayerVisitor visitor(descriptor); - Network net; - - IConnectableLayer *const layer = net.AddStridedSliceLayer(descriptor); - layer->Accept(visitor); -} +} // anonymous namespace -BOOST_AUTO_TEST_SUITE_END() +BOOST_AUTO_TEST_SUITE(TestNameAndDescriptorLayerVisitor) -} //namespace armnn +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Activation) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(ArgMinMax) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(DepthToSpace) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(BatchToSpaceNd) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Concat) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(InstanceNormalization) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(L2Normalization) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(LogSoftmax) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Mean) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Normalization) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Pad) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Permute) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Pooling2d) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Reshape) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Resize) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Slice) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Softmax) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(SpaceToBatchNd) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(SpaceToDepth) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Splitter) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(Stack) +TEST_SUITE_NAME_AND_DESCRIPTOR_LAYER_VISITOR(StridedSlice) + +BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file |