aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/NEON
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/NEON')
-rw-r--r--tests/validation/NEON/AbsoluteDifference.cpp46
-rw-r--r--tests/validation/NEON/Accumulate.cpp72
-rw-r--r--tests/validation/NEON/ActivationLayer.cpp42
-rw-r--r--tests/validation/NEON/BitwiseAnd.cpp30
-rw-r--r--tests/validation/NEON/BitwiseNot.cpp26
-rw-r--r--tests/validation/NEON/BitwiseOr.cpp30
-rw-r--r--tests/validation/NEON/BitwiseXor.cpp30
-rw-r--r--tests/validation/NEON/Box3x3.cpp37
-rw-r--r--tests/validation/NEON/CannyEdge.cpp37
-rw-r--r--tests/validation/NEON/ChannelCombine.cpp49
-rw-r--r--tests/validation/NEON/ChannelExtract.cpp49
-rw-r--r--tests/validation/NEON/ChannelShuffle.cpp21
-rw-r--r--tests/validation/NEON/ColorConvert.cpp106
-rw-r--r--tests/validation/NEON/Convolution.cpp204
-rw-r--r--tests/validation/NEON/DepthwiseConvolutionLayerNative.cpp67
-rw-r--r--tests/validation/NEON/DequantizationLayer.cpp28
-rw-r--r--tests/validation/NEON/Derivative.cpp38
-rw-r--r--tests/validation/NEON/Dilate.cpp37
-rw-r--r--tests/validation/NEON/DilatedConvolutionLayer.cpp45
-rw-r--r--tests/validation/NEON/DirectConvolutionLayer.cpp2
-rw-r--r--tests/validation/NEON/ElementwiseAbsoluteValue.cpp22
-rw-r--r--tests/validation/NEON/ElementwiseDivision.cpp17
-rw-r--r--tests/validation/NEON/ElementwiseExpLayer.cpp21
-rw-r--r--tests/validation/NEON/ElementwiseLog.cpp21
-rw-r--r--tests/validation/NEON/ElementwiseNegation.cpp19
-rw-r--r--tests/validation/NEON/ElementwisePower.cpp18
-rw-r--r--tests/validation/NEON/ElementwiseRound.cpp21
-rw-r--r--tests/validation/NEON/ElementwiseSin.cpp21
-rw-r--r--tests/validation/NEON/ElementwiseSquareDiff.cpp68
-rw-r--r--tests/validation/NEON/EqualizeHistogram.cpp27
-rw-r--r--tests/validation/NEON/Erode.cpp37
-rw-r--r--tests/validation/NEON/FFT.cpp51
-rw-r--r--tests/validation/NEON/FastCorners.cpp37
-rw-r--r--tests/validation/NEON/GEMMLowp.cpp154
-rw-r--r--tests/validation/NEON/Gather.cpp22
-rw-r--r--tests/validation/NEON/Gaussian3x3.cpp37
-rw-r--r--tests/validation/NEON/Gaussian5x5.cpp37
-rw-r--r--tests/validation/NEON/GaussianPyramid.cpp25
-rw-r--r--tests/validation/NEON/HarrisCorners.cpp43
-rw-r--r--tests/validation/NEON/Histogram.cpp40
-rw-r--r--tests/validation/NEON/IntegralImage.cpp27
-rw-r--r--tests/validation/NEON/LaplacianPyramid.cpp37
-rw-r--r--tests/validation/NEON/LaplacianReconstruct.cpp46
-rw-r--r--tests/validation/NEON/Magnitude.cpp28
-rw-r--r--tests/validation/NEON/MeanStdDev.cpp22
-rw-r--r--tests/validation/NEON/Median3x3.cpp37
-rw-r--r--tests/validation/NEON/MinMaxLocation.cpp45
-rw-r--r--tests/validation/NEON/NonLinearFilter.cpp48
-rw-r--r--tests/validation/NEON/NormalizationLayer.cpp32
-rw-r--r--tests/validation/NEON/Permute.cpp23
-rw-r--r--tests/validation/NEON/Phase.cpp28
-rw-r--r--tests/validation/NEON/QuantizationLayer.cpp23
-rw-r--r--tests/validation/NEON/ReduceMean.cpp30
-rw-r--r--tests/validation/NEON/Remap.cpp36
-rw-r--r--tests/validation/NEON/ReorgLayer.cpp40
-rw-r--r--tests/validation/NEON/Schaar.cpp53
-rw-r--r--tests/validation/NEON/Select.cpp46
-rw-r--r--tests/validation/NEON/Slice.cpp20
-rw-r--r--tests/validation/NEON/Sobel.cpp154
-rw-r--r--tests/validation/NEON/Split.cpp60
-rw-r--r--tests/validation/NEON/StackLayer.cpp65
-rw-r--r--tests/validation/NEON/StridedSlice.cpp20
-rw-r--r--tests/validation/NEON/TableLookup.cpp37
-rw-r--r--tests/validation/NEON/Threshold.cpp24
-rw-r--r--tests/validation/NEON/Upsample.cpp25
-rw-r--r--tests/validation/NEON/WarpAffine.cpp44
-rw-r--r--tests/validation/NEON/WarpPerspective.cpp50
67 files changed, 68 insertions, 2766 deletions
diff --git a/tests/validation/NEON/AbsoluteDifference.cpp b/tests/validation/NEON/AbsoluteDifference.cpp
index 9e9a7db738..36499a4552 100644
--- a/tests/validation/NEON/AbsoluteDifference.cpp
+++ b/tests/validation/NEON/AbsoluteDifference.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -57,28 +57,6 @@ template <typename T>
using NEAbsoluteDifferenceFixture = AbsoluteDifferenceValidationFixture<Tensor, Accessor, NEAbsoluteDifference, T>;
TEST_SUITE(U8)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), AbsoluteDifferenceU8Dataset),
- shape, data_type0, data_type1, output_data_type)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, data_type0);
- Tensor ref_src2 = create_tensor<Tensor>(shape, data_type1);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create and Configure function
- NEAbsoluteDifference abs_diff;
- abs_diff.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(ref_src1.info()->padding(), padding);
- validate(ref_src2.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
FIXTURE_DATA_TEST_CASE(RunSmall, NEAbsoluteDifferenceFixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallShapes(), AbsoluteDifferenceU8Dataset))
{
@@ -93,28 +71,6 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NEAbsoluteDifferenceFixture<uint8_t>, framework
TEST_SUITE_END() // U8
TEST_SUITE(S16)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), AbsoluteDifferenceS16Dataset),
- shape, data_type0, data_type1, output_data_type)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, data_type0);
- Tensor ref_src2 = create_tensor<Tensor>(shape, data_type1);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create and Configure function
- NEAbsoluteDifference abs_diff;
- abs_diff.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(ref_src1.info()->padding(), padding);
- validate(ref_src2.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
FIXTURE_DATA_TEST_CASE(RunSmall, NEAbsoluteDifferenceFixture<int16_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallShapes(), AbsoluteDifferenceS16Dataset))
{
diff --git a/tests/validation/NEON/Accumulate.cpp b/tests/validation/NEON/Accumulate.cpp
index e49069876f..963d697222 100644
--- a/tests/validation/NEON/Accumulate.cpp
+++ b/tests/validation/NEON/Accumulate.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -53,26 +53,6 @@ TEST_SUITE(NEON)
TEST_SUITE(Accumulate)
TEST_SUITE(U8)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), AccumulateS16Dataset),
- shape, data_type, output_data_type)
-{
- // Create tensors
- Tensor ref_src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create and Configure function
- NEAccumulate accum;
- accum.configure(&ref_src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(ref_src.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
template <typename T1>
using NEAccumulateFixture = AccumulateValidationFixture<Tensor, Accessor, NEAccumulate, T1, int16_t>;
@@ -94,31 +74,6 @@ TEST_SUITE_END() // Accumulate
TEST_SUITE(AccumulateWeighted)
TEST_SUITE(U8)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), AccumulateU8Dataset),
- shape, data_type, output_data_type)
-{
- // Generate a random alpha value
- std::mt19937 gen(library->seed());
- std::uniform_real_distribution<> float_dist(0, 1);
- const float alpha = float_dist(gen);
-
- // Create tensors
- Tensor ref_src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create and Configure function
- NEAccumulateWeighted accum_weight;
- accum_weight.configure(&ref_src, alpha, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(ref_src.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
template <typename T1>
using NEAccumulateWeightedFixture = AccumulateWeightedValidationFixture<Tensor, Accessor, NEAccumulateWeighted, T1, uint8_t>;
@@ -140,31 +95,6 @@ TEST_SUITE_END() // AccumulateWeighted
TEST_SUITE(AccumulateSquared)
TEST_SUITE(U8)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), AccumulateS16Dataset),
- shape, data_type, output_data_type)
-{
- // Generate a random shift value
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint32_t> int_dist(0, 15);
- const uint32_t shift = int_dist(gen);
-
- // Create tensors
- Tensor ref_src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create and Configure function
- NEAccumulateSquared accum_square;
- accum_square.configure(&ref_src, shift, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(ref_src.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
template <typename T1>
using NEAccumulateSquaredFixture = AccumulateSquaredValidationFixture<Tensor, Accessor, NEAccumulateSquared, T1, int16_t>;
diff --git a/tests/validation/NEON/ActivationLayer.cpp b/tests/validation/NEON/ActivationLayer.cpp
index 33e2850cb1..5af78d41f8 100644
--- a/tests/validation/NEON/ActivationLayer.cpp
+++ b/tests/validation/NEON/ActivationLayer.cpp
@@ -128,48 +128,6 @@ const auto ActivationDataset = combine(combine(framework::dataset::make("InPlace
TEST_SUITE(NEON)
TEST_SUITE(ActivationLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), CNNDataTypes), framework::dataset::make("InPlace", { false, true })),
- shape, data_type, in_place)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type, 1);
- Tensor dst = create_tensor<Tensor>(shape, data_type, 1);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create context
- RuntimeContext ctx;
-
- // Create and configure function
- NEActivationLayer act_layer(&ctx);
-
- if(in_place)
- {
- act_layer.configure(&src, nullptr, ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::ABS));
- }
- else
- {
- act_layer.configure(&src, &dst, ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::ABS));
- }
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
-
- if(!in_place)
- {
- validate(dst.info()->valid_region(), valid_region);
- }
-
- // Validate padding
- validate(src.info()->padding(), PaddingSize());
- if(!in_place)
- {
- validate(dst.info()->padding(), PaddingSize());
- }
-}
-
// *INDENT-OFF*
// clang-format off
DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
diff --git a/tests/validation/NEON/BitwiseAnd.cpp b/tests/validation/NEON/BitwiseAnd.cpp
index f10be8d174..8796cc1147 100644
--- a/tests/validation/NEON/BitwiseAnd.cpp
+++ b/tests/validation/NEON/BitwiseAnd.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,34 +43,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(BitwiseAnd)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src1 = create_tensor<Tensor>(shape, data_type);
- Tensor src2 = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src1.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(src2.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEBitwiseAnd bitwise_and;
- bitwise_and.configure(&src1, &src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src1.info()->valid_region(), valid_region);
- validate(src2.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src1.info()->padding(), padding);
- validate(src2.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEBitwiseAndFixture = BitwiseAndValidationFixture<Tensor, Accessor, NEBitwiseAnd, T>;
diff --git a/tests/validation/NEON/BitwiseNot.cpp b/tests/validation/NEON/BitwiseNot.cpp
index a53e77d472..13b3e6d7f3 100644
--- a/tests/validation/NEON/BitwiseNot.cpp
+++ b/tests/validation/NEON/BitwiseNot.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,30 +43,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(BitwiseNot)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEBitwiseNot bitwise_not;
- bitwise_not.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEBitwiseNotFixture = BitwiseNotValidationFixture<Tensor, Accessor, NEBitwiseNot, T>;
diff --git a/tests/validation/NEON/BitwiseOr.cpp b/tests/validation/NEON/BitwiseOr.cpp
index f74594a293..cef712f626 100644
--- a/tests/validation/NEON/BitwiseOr.cpp
+++ b/tests/validation/NEON/BitwiseOr.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,34 +43,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(BitwiseOr)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src1 = create_tensor<Tensor>(shape, data_type);
- Tensor src2 = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src1.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(src2.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEBitwiseOr bitwise_or;
- bitwise_or.configure(&src1, &src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src1.info()->valid_region(), valid_region);
- validate(src2.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src1.info()->padding(), padding);
- validate(src2.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEBitwiseOrFixture = BitwiseOrValidationFixture<Tensor, Accessor, NEBitwiseOr, T>;
diff --git a/tests/validation/NEON/BitwiseXor.cpp b/tests/validation/NEON/BitwiseXor.cpp
index 094a69b599..3f973935df 100644
--- a/tests/validation/NEON/BitwiseXor.cpp
+++ b/tests/validation/NEON/BitwiseXor.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,34 +43,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(BitwiseXor)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src1 = create_tensor<Tensor>(shape, data_type);
- Tensor src2 = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src1.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(src2.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEBitwiseXor bitwise_xor;
- bitwise_xor.configure(&src1, &src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src1.info()->valid_region(), valid_region);
- validate(src2.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src1.info()->padding(), padding);
- validate(src2.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEBitwiseXorFixture = BitwiseXorValidationFixture<Tensor, Accessor, NEBitwiseXor, T>;
diff --git a/tests/validation/NEON/Box3x3.cpp b/tests/validation/NEON/Box3x3.cpp
index b4fd06a549..ef964bf856 100644
--- a/tests/validation/NEON/Box3x3.cpp
+++ b/tests/validation/NEON/Box3x3.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,41 +50,6 @@ constexpr BorderSize border_size(filter_size / 2); /* Border size of the kerne
TEST_SUITE(NEON)
TEST_SUITE(Box3x3)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- datasets::BorderModes()),
- shape, data_type, border_mode)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEBox3x3 box3x3;
- box3x3.configure(&src, &dst, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), border_size);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(1);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEBox3x3Fixture = Box3x3ValidationFixture<Tensor, Accessor, NEBox3x3, T>;
diff --git a/tests/validation/NEON/CannyEdge.cpp b/tests/validation/NEON/CannyEdge.cpp
index 42222c0450..da33ff9eeb 100644
--- a/tests/validation/NEON/CannyEdge.cpp
+++ b/tests/validation/NEON/CannyEdge.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2018 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -55,41 +55,6 @@ const auto data = combine(framework::dataset::make("GradientSize", { 3, 5, 7 }),
TEST_SUITE(NEON)
TEST_SUITE(CannyEdge)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(concat(datasets::Small2DShapes(), datasets::Large2DShapes()), data), framework::dataset::make("Format", Format::U8)),
- shape, gradient_size, normalization, border_mode, format)
-{
- CannyEdgeParameters params = canny_edge_parameters();
- // Convert normalisation type to integer
- const auto norm_type = static_cast<int>(normalization) + 1;
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- Tensor dst = create_tensor<Tensor>(shape, data_type_from_format(format));
- src.info()->set_format(format);
- dst.info()->set_format(format);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create Canny edge configure function
- NECannyEdge canny_edge;
- canny_edge.configure(&src, &dst, params.upper_thresh, params.lower_thresh, gradient_size, norm_type, border_mode, params.constant_border_value);
-
- // Validate valid region
- validate(src.info()->valid_region(), shape_to_valid_region(shape, (BorderMode::UNDEFINED == border_mode)));
- validate(dst.info()->valid_region(), shape_to_valid_region(shape, (BorderMode::UNDEFINED == border_mode)));
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(gradient_size / 2);
- calculator.set_access_offset(-gradient_size / 2);
- calculator.set_accessed_elements(16);
-
- validate(src.info()->padding(), calculator.required_padding());
- validate(dst.info()->padding(), PaddingSize{ 1 });
-}
-
template <typename T>
using NECannyEdgeFixture = CannyEdgeValidationFixture<Tensor, Accessor, KeyPointArray, NECannyEdge, T>;
diff --git a/tests/validation/NEON/ChannelCombine.cpp b/tests/validation/NEON/ChannelCombine.cpp
index 1a400f2a7d..8ca9828bed 100644
--- a/tests/validation/NEON/ChannelCombine.cpp
+++ b/tests/validation/NEON/ChannelCombine.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -42,56 +42,9 @@ namespace test
{
namespace validation
{
-namespace
-{
-inline void validate_configuration(const TensorShape &shape, Format format)
-{
- const int num_planes = num_planes_from_format(format);
-
- // Create tensors
- MultiImage dst = create_multi_image<MultiImage>(shape, format);
- std::vector<Tensor> ref_src = create_tensor_planes<Tensor>(shape, format);
-
- // Create and configure function
- NEChannelCombine channel_combine;
-
- if(num_planes == 1)
- {
- const Tensor *tensor_extra = Format::RGBA8888 == format ? &ref_src[3] : nullptr;
-
- channel_combine.configure(&ref_src[0], &ref_src[1], &ref_src[2], tensor_extra, dst.plane(0));
- }
- else
- {
- channel_combine.configure(&ref_src[0], &ref_src[1], &ref_src[2], &dst);
- }
-
- // TODO(bsgcomp): Add validation for padding and shape (COMPMID-659)
-}
-} // namespace
-
TEST_SUITE(NEON)
TEST_SUITE(ChannelCombine)
-TEST_SUITE(Configuration)
-DATA_TEST_CASE(RGBA, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("FormatType", { Format::RGB888, Format::RGBA8888 })),
- shape, format)
-{
- validate_configuration(shape, format);
-}
-DATA_TEST_CASE(YUV, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("FormatType", { Format::YUYV422, Format::UYVY422 })),
- shape, format)
-{
- validate_configuration(shape, format);
-}
-
-DATA_TEST_CASE(YUVPlanar, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("FormatType", { Format::IYUV, Format::YUV444, Format::NV12, Format::NV21 })),
- shape, format)
-{
- validate_configuration(shape, format);
-}
-TEST_SUITE_END() // Configuration
-
template <typename T>
using NEChannelCombineFixture = ChannelCombineValidationFixture<MultiImage, Tensor, Accessor, NEChannelCombine, T>;
diff --git a/tests/validation/NEON/ChannelExtract.cpp b/tests/validation/NEON/ChannelExtract.cpp
index db7a9cf65f..d8b1921767 100644
--- a/tests/validation/NEON/ChannelExtract.cpp
+++ b/tests/validation/NEON/ChannelExtract.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -51,34 +51,6 @@ const auto ChannelExtractYUVDataset = combine(framework::dataset::make("FormatTy
framework::dataset::make("ChannelType", { Channel::Y, Channel::U, Channel::V }));
const auto ChannelExtractYUVPlanarDataset = combine(framework::dataset::make("FormatType", { Format::IYUV, Format::YUV444, Format::NV12, Format::NV21 }),
framework::dataset::make("ChannelType", { Channel::Y, Channel::U, Channel::V }));
-
-inline void validate_configuration(const TensorShape &shape, Format format, Channel channel)
-{
- const unsigned int num_planes = num_planes_from_format(format);
-
- TensorShape dst_shape = adjust_odd_shape(shape, format);
- dst_shape = calculate_subsampled_shape(dst_shape, format, channel);
-
- // Create tensors
- MultiImage ref_src = create_multi_image<MultiImage>(shape, format);
- Tensor dst = create_tensor<Tensor>(dst_shape, Format::U8);
-
- // Create and Configure function
- NEChannelExtract channel_extract;
-
- if(1U == num_planes)
- {
- const Tensor *plane_src = ref_src.plane(0);
-
- channel_extract.configure(plane_src, channel, &dst);
- }
- else
- {
- channel_extract.configure(&ref_src, channel, &dst);
- }
-
- // TODO(bsgcomp): Add validation for padding and shape (COMPMID-659)
-}
} // namespace
TEST_SUITE(NEON)
@@ -87,25 +59,6 @@ TEST_SUITE(ChannelExtract)
template <typename T>
using NEChannelExtractFixture = ChannelExtractValidationFixture<MultiImage, Tensor, Accessor, NEChannelExtract, T>;
-TEST_SUITE(Configuration)
-DATA_TEST_CASE(RGBA, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ChannelExtractRGBADataset),
- shape, format, channel)
-{
- validate_configuration(shape, format, channel);
-}
-DATA_TEST_CASE(YUV, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ChannelExtractYUVDataset),
- shape, format, channel)
-{
- validate_configuration(shape, format, channel);
-}
-
-DATA_TEST_CASE(YUVPlanar, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ChannelExtractYUVPlanarDataset),
- shape, format, channel)
-{
- validate_configuration(shape, format, channel);
-}
-TEST_SUITE_END() // Configuration
-
TEST_SUITE(RGBA)
FIXTURE_DATA_TEST_CASE(RunSmall, NEChannelExtractFixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::Small2DShapes(), ChannelExtractRGBADataset))
{
diff --git a/tests/validation/NEON/ChannelShuffle.cpp b/tests/validation/NEON/ChannelShuffle.cpp
index d7b98d942a..d0fa82fc53 100644
--- a/tests/validation/NEON/ChannelShuffle.cpp
+++ b/tests/validation/NEON/ChannelShuffle.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -70,25 +70,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration,
- framework::DatasetMode::ALL,
- combine(datasets::SmallRandomChannelShuffleLayerDataset(),
- framework::dataset::make("DataType", { DataType::S8, DataType::U8, DataType::S16, DataType::U16, DataType::U32, DataType::S32, DataType::F32 })),
- shape, num_groups, data_type)
-{
- // Create tensors
- Tensor ref_src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- // Create and Configure function
- NEChannelShuffleLayer channel_shuffle_func;
- channel_shuffle_func.configure(&ref_src, &dst, num_groups);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEChannelShuffleLayerFixture = ChannelShuffleLayerValidationFixture<Tensor, Accessor, NEChannelShuffleLayer, T>;
diff --git a/tests/validation/NEON/ColorConvert.cpp b/tests/validation/NEON/ColorConvert.cpp
index be64ee0095..e079bd12f3 100644
--- a/tests/validation/NEON/ColorConvert.cpp
+++ b/tests/validation/NEON/ColorConvert.cpp
@@ -70,62 +70,6 @@ const auto ColorConvert_YUYVDataset_to_NVDataset = combine(YUYVDataset,
const auto ColorConvert_NVDataset_to_YUVDataset = combine(framework::dataset::make("FormatType", { Format::NV12, Format::NV21 }),
framework::dataset::make("FormatType", { Format::IYUV, Format::YUV444 }));
-
-inline void validate_configuration(const TensorShape &shape, Format src_format, Format dst_format)
-{
- const unsigned int src_num_planes = num_planes_from_format(src_format);
- const unsigned int dst_num_planes = num_planes_from_format(dst_format);
-
- TensorShape input = adjust_odd_shape(shape, src_format);
- input = adjust_odd_shape(input, dst_format);
-
- // Create tensors
- MultiImage ref_src = create_multi_image<MultiImage>(input, src_format);
- MultiImage ref_dst = create_multi_image<MultiImage>(input, dst_format);
-
- // Create and Configure function
- NEColorConvert color_convert;
-
- if(1U == src_num_planes)
- {
- const Tensor *src_plane = ref_src.plane(0);
-
- if(1U == dst_num_planes)
- {
- Tensor *dst_plane = ref_dst.plane(0);
- color_convert.configure(src_plane, dst_plane);
- }
- else
- {
- color_convert.configure(src_plane, &ref_dst);
- }
- }
- else
- {
- if(1U == dst_num_planes)
- {
- Tensor *dst_plane = ref_dst.plane(0);
- color_convert.configure(&ref_src, dst_plane);
- }
- else
- {
- color_convert.configure(&ref_src, &ref_dst);
- }
- }
-
- for(unsigned int plane_idx = 0; plane_idx < src_num_planes; ++plane_idx)
- {
- const Tensor *src_plane = ref_src.plane(plane_idx);
-
- ARM_COMPUTE_EXPECT(src_plane->info()->is_resizable(), framework::LogLevel::ERRORS);
- }
- for(unsigned int plane_idx = 0; plane_idx < dst_num_planes; ++plane_idx)
- {
- const Tensor *dst_plane = ref_dst.plane(plane_idx);
-
- ARM_COMPUTE_EXPECT(dst_plane->info()->is_resizable(), framework::LogLevel::ERRORS);
- }
-}
} // namespace
TEST_SUITE(NEON)
@@ -134,56 +78,6 @@ TEST_SUITE(ColorConvert)
template <typename T>
using NEColorConvertFixture = ColorConvertValidationFixture<MultiImage, Tensor, Accessor, NEColorConvert, T>;
-TEST_SUITE(Configuration)
-DATA_TEST_CASE(RGBA, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_RGBA_to_RGB),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-
-DATA_TEST_CASE(RGB, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_RGB_to_RGBA),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-
-DATA_TEST_CASE(RGBtoU8, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_RGB_to_U8),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-
-DATA_TEST_CASE(YUV, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_YUYVDataset_to_RGBDataset),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-
-DATA_TEST_CASE(YUVPlanar, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_YUVPlanar_to_RGBDataset),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-
-DATA_TEST_CASE(NV, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_RGBDataset_to_NVDataset),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-
-DATA_TEST_CASE(YUYVtoNV, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_YUYVDataset_to_NVDataset),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-
-DATA_TEST_CASE(NVtoYUV, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), ColorConvert_NVDataset_to_YUVDataset),
- shape, src_format, dst_format)
-{
- validate_configuration(shape, src_format, dst_format);
-}
-TEST_SUITE_END() // Configuration
-
TEST_SUITE(RGBA)
FIXTURE_DATA_TEST_CASE(RunSmall, NEColorConvertFixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::Small2DShapes(), ColorConvert_RGBA_to_RGB))
{
diff --git a/tests/validation/NEON/Convolution.cpp b/tests/validation/NEON/Convolution.cpp
index 96e07dd698..13bc34c995 100644
--- a/tests/validation/NEON/Convolution.cpp
+++ b/tests/validation/NEON/Convolution.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -55,46 +55,6 @@ constexpr AbsoluteTolerance<int16_t> tolerance_s16(1);
TEST_SUITE(NEON)
TEST_SUITE(CustomConvolution)
TEST_SUITE(Square3x3)
-
-DATA_TEST_CASE(Configuration, framework::DatasetMode::NIGHTLY, combine(combine(combine(concat(datasets::SmallShapes(), datasets::LargeShapes()), framework::dataset::make("DataType", { DataType::U8, DataType::S16 })),
- datasets::BorderModes()),
- framework::dataset::make("filter_size", { 3 })),
- shape, output_data_type, border_mode, filter_size)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create conv matrix
- std::array<int16_t, 9> conv = { 0 };
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEConvolution3x3 convolution;
- convolution.configure(&src, &dst, conv.data(), 0, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), BorderSize(filter_size / 2));
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(1);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEConvolutionFixture = ConvolutionSquareValidationFixture<Tensor, Accessor, NEConvolution3x3, T>;
@@ -124,45 +84,6 @@ TEST_SUITE_END() // S16
TEST_SUITE_END() // Square3x3
TEST_SUITE(Square5x5)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::NIGHTLY, combine(combine(combine(concat(datasets::SmallShapes(), datasets::LargeShapes()), framework::dataset::make("DataType", { DataType::U8, DataType::S16 })),
- datasets::BorderModes()),
- framework::dataset::make("filter_size", { 5 })),
- shape, output_data_type, border_mode, filter_size)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create conv matrix
- std::array<int16_t, 25> conv = { 0 };
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEConvolution5x5 convolution;
- convolution.configure(&src, &dst, conv.data(), 0, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), BorderSize(filter_size / 2));
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(2);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-2);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEConvolutionFixture = ConvolutionSquareValidationFixture<Tensor, Accessor, NEConvolution5x5, T>;
@@ -192,45 +113,6 @@ TEST_SUITE_END() // S16
TEST_SUITE_END() // Square5x5
TEST_SUITE(Square7x7)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::NIGHTLY, combine(combine(combine(concat(datasets::SmallShapes(), datasets::LargeShapes()), framework::dataset::make("DataType", { DataType::U8, DataType::S16 })),
- datasets::BorderModes()),
- framework::dataset::make("filter_size", { 7 })),
- shape, output_data_type, border_mode, filter_size)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create conv matrix
- std::array<int16_t, 49> conv = { 0 };
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEConvolution7x7 convolution;
- convolution.configure(&src, &dst, conv.data(), 0, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), BorderSize(filter_size / 2));
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(3);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-3);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEConvolutionFixture = ConvolutionSquareValidationFixture<Tensor, Accessor, NEConvolution7x7, T>;
@@ -260,45 +142,6 @@ TEST_SUITE_END() // S16
TEST_SUITE_END() // Square7x7
TEST_SUITE(Square9x9)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::NIGHTLY, combine(combine(combine(concat(datasets::SmallShapes(), datasets::LargeShapes()), framework::dataset::make("DataType", { DataType::U8, DataType::S16 })),
- datasets::BorderModes()),
- framework::dataset::make("filter_size", { 9 })),
- shape, output_data_type, border_mode, filter_size)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create conv matrix
- std::array<int16_t, 81> conv = { 0 };
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEConvolution9x9 convolution;
- convolution.configure(&src, &dst, conv.data(), 0, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), BorderSize(filter_size / 2));
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(4);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-4);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEConvolutionFixture = ConvolutionSquareValidationFixture<Tensor, Accessor, NEConvolution9x9, T>;
@@ -328,51 +171,6 @@ TEST_SUITE_END() // S16
TEST_SUITE_END() // Square9x9
TEST_SUITE(Rectangle)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(concat(datasets::SmallShapes(), datasets::LargeShapes()), framework::dataset::make("DataType",
-{ DataType::U8, DataType::S16 })),
-datasets::BorderModes()),
-framework::dataset::make("filter_width", { 3, 5, 7, 9 })),
-framework::dataset::make("filter_height", { 3, 5, 7, 9 })),
-shape, output_data_type, border_mode, filter_width, filter_height)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
- Tensor dst = create_tensor<Tensor>(shape, output_data_type);
-
- // Create conv matrix
- std::vector<int16_t> conv(filter_height * filter_width);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEConvolutionRectangle convolution;
- convolution.configure(&src, &dst, conv.data(), filter_width, filter_height, 1, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), BorderSize(filter_height / 2, filter_width / 2));
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(filter_width / 2);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-(filter_width / 2));
-
- const PaddingSize width_padding = calculator.required_padding();
-
- calculator.set_border_size(filter_height / 2);
- calculator.set_access_offset(-(filter_height / 2));
- const PaddingSize height_padding = calculator.required_padding();
-
- validate(src.info()->padding(), width_padding, height_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEConvolutionFixture = ConvolutionRectangleValidationFixture<Tensor, Accessor, NEConvolutionRectangle, T>;
diff --git a/tests/validation/NEON/DepthwiseConvolutionLayerNative.cpp b/tests/validation/NEON/DepthwiseConvolutionLayerNative.cpp
index 0e5024f6d3..be0eee32e0 100644
--- a/tests/validation/NEON/DepthwiseConvolutionLayerNative.cpp
+++ b/tests/validation/NEON/DepthwiseConvolutionLayerNative.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -98,77 +98,12 @@ const auto data_type_values = framework::dataset::make("data_type", { DataType::
/** Data layout values to test - All */
const auto data_layout_values = framework::dataset::make("data_layout", { DataLayout::NHWC });
-
-/** Configuration test */
-void validate_configuration(size_t width_value, size_t height_value, size_t channel_value, size_t batch_value, Size2D kernel_sz_value, size_t depth_multiplier_value, Size2D dilation_value, Size2D stride_value, bool padding_valid_value, DataType data_type_value, DataLayout data_layout_value)
-{
- TensorShape src_shape(width_value, height_value, channel_value, batch_value);
- TensorShape weights_shape(kernel_sz_value.width, kernel_sz_value.height, channel_value * depth_multiplier_value);
- TensorShape biases_shape(channel_value * depth_multiplier_value);
-
- if(data_layout_value == DataLayout::NHWC)
- {
- permute(src_shape, PermutationVector(2U, 0U, 1U, 3U));
- permute(weights_shape, PermutationVector(2U, 0U, 1U));
- }
-
- TensorInfo src_info(src_shape, 1, data_type_value);
- TensorInfo weights_info(weights_shape, 1, data_type_value);
- TensorInfo biases_info(biases_shape, 1, data_type_value);
-
- src_info.set_data_layout(data_layout_value);
- weights_info.set_data_layout(data_layout_value);
- biases_info.set_data_layout(data_layout_value);
-
- PadStrideInfo conv_info;
- if(padding_valid_value)
- {
- conv_info = PadStrideInfo();
- }
- else
- {
- conv_info = calculate_same_pad(src_shape, weights_shape, PadStrideInfo(stride_value.width, stride_value.height), data_layout_value, dilation_value);
- }
-
- const TensorShape dst_shape = compute_depthwise_convolution_shape(src_info, weights_info, conv_info, depth_multiplier_value, dilation_value);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(src_shape, data_type_value, 1, QuantizationInfo(), data_layout_value);
- Tensor weights = create_tensor<Tensor>(weights_shape, data_type_value, 1, QuantizationInfo(), data_layout_value);
- Tensor biases = create_tensor<Tensor>(biases_shape, data_type_value, 1, QuantizationInfo(), data_layout_value);
- Tensor dst = create_tensor<Tensor>(dst_shape, data_type_value, 1, QuantizationInfo(), data_layout_value);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(weights.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(biases.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEDepthwiseConvolutionLayerNative dwc;
- dwc.configure(&src, &weights, &biases, &dst, conv_info, depth_multiplier_value, dilation_value);
-}
} // namespace
TEST_SUITE(NEON)
TEST_SUITE(DepthwiseConvolutionLayerNative)
TEST_SUITE(Float)
TEST_SUITE(FP32)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(width_values_precommit,
- height_values_precommit),
- channel_values_precommit),
- batch_values_precommit),
- kernel_sz_values_precommit),
- depth_multiplier_values),
- dilation_values),
- stride_values),
- padding_valid_values),
- data_type_values),
- data_layout_values),
-width_value, height_value, channel_value, batch_value, kernel_sz_value, depth_multiplier_value, dilation_value, stride_value, padding_valid_value, data_type_value, data_layout_value)
-{
- validate_configuration(width_value, height_value, channel_value, batch_value, kernel_sz_value, depth_multiplier_value, dilation_value, stride_value, padding_valid_value, data_type_value, data_layout_value);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthwiseConvolutionLayerNativeFixture<float>, framework::DatasetMode::ALL,
combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(width_values_precommit,
height_values_precommit),
diff --git a/tests/validation/NEON/DequantizationLayer.cpp b/tests/validation/NEON/DequantizationLayer.cpp
index f4defcd4e0..bce60c7891 100644
--- a/tests/validation/NEON/DequantizationLayer.cpp
+++ b/tests/validation/NEON/DequantizationLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -117,32 +117,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration,
- framework::DatasetMode::ALL,
- combine(datasets::SmallShapes(), data_types),
- shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::QASYMM8, 1, QuantizationInfo(0.5f, -10));
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEDequantizationLayer dequant_layer;
- dequant_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- validate(src.info()->padding(), PaddingSize());
- validate(dst.info()->padding(), PaddingSize());
-}
-
template <typename T>
using NEDequantizationLayerFixture = DequantizationValidationFixture<Tensor, Accessor, NEDequantizationLayer, T>;
diff --git a/tests/validation/NEON/Derivative.cpp b/tests/validation/NEON/Derivative.cpp
index 0a047782ce..304ac824ed 100644
--- a/tests/validation/NEON/Derivative.cpp
+++ b/tests/validation/NEON/Derivative.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -44,42 +44,6 @@ TEST_SUITE(Derivative)
using NEDerivativeFixture = DerivativeValidationFixture<Tensor, Accessor, NEDerivative, uint8_t, int16_t>;
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
- Format::U8)),
- shape, border_mode, format)
-{
- // Generate a random constant value
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> int_dist(0, 255);
- const uint8_t constant_border_value = int_dist(gen);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- Tensor dst_x = create_tensor<Tensor>(shape, DataType::S16);
- Tensor dst_y = create_tensor<Tensor>(shape, DataType::S16);
-
- src.info()->set_format(format);
- dst_x.info()->set_format(Format::S16);
- dst_y.info()->set_format(Format::S16);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_x.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_y.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create Derivative configure function
- NEDerivative derivative;
- derivative.configure(&src, &dst_x, &dst_y, border_mode, constant_border_value);
-
- // Validate valid region
- constexpr BorderSize border_size{ 1 };
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
-
- validate(dst_x.info()->valid_region(), dst_valid_region);
- validate(dst_y.info()->valid_region(), dst_valid_region);
-
- // TODO(COMPMID-415) Validate padding after fixing x-access input bug in NEON kernel
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEDerivativeFixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
Format::U8)),
datasets::GradientDimensions()))
diff --git a/tests/validation/NEON/Dilate.cpp b/tests/validation/NEON/Dilate.cpp
index 668d2b01d7..9dc9dd57cd 100644
--- a/tests/validation/NEON/Dilate.cpp
+++ b/tests/validation/NEON/Dilate.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,41 +50,6 @@ constexpr BorderSize border_size(filter_size / 2); /* Border size of the kerne
TEST_SUITE(NEON)
TEST_SUITE(Dilate)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- datasets::BorderModes()),
- shape, data_type, border_mode)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEDilate dilate;
- dilate.configure(&src, &dst, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), border_size);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(1);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEDilateFixture = DilateValidationFixture<Tensor, Accessor, NEDilate, T>;
diff --git a/tests/validation/NEON/DilatedConvolutionLayer.cpp b/tests/validation/NEON/DilatedConvolutionLayer.cpp
index 4c1e532e76..cf2f5f2ea4 100644
--- a/tests/validation/NEON/DilatedConvolutionLayer.cpp
+++ b/tests/validation/NEON/DilatedConvolutionLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -108,49 +108,6 @@ TEST_SUITE_END() // DilatedConvolutionLayer
TEST_SUITE(GEMMDilatedConvolutionLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallDilatedConvolutionLayerDataset(),
- CNNDataTypes),
- input_shape, weights_shape, bias_shape, output_shape, info, dilation, data_type)
-{
- auto bias_data_type = is_data_type_quantized_asymmetric(data_type) ? DataType::S32 : data_type;
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(input_shape, data_type, 1, QuantizationInfo(2.f / 255.f, 127));
- Tensor weights = create_tensor<Tensor>(weights_shape, data_type, 1, QuantizationInfo(2.f / 255.f, 127));
- Tensor bias = create_tensor<Tensor>(bias_shape, bias_data_type, 1, QuantizationInfo(2.f / 255.f, 127));
- Tensor dst = create_tensor<Tensor>(output_shape, data_type, 1, QuantizationInfo(2.f / 255.f, 127));
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(weights.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(bias.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- const QuantizationInfo src_quantization_info = src.info()->quantization_info();
- const QuantizationInfo weights_quantization_info = weights.info()->quantization_info();
-
- // Create and configure function
- NEGEMMConvolutionLayer conv;
- conv.configure(&src, &weights, &bias, &dst, info, WeightsInfo(), dilation);
-
- // Validate valid region
- const ValidRegion src_valid_region = shape_to_valid_region(input_shape);
- const ValidRegion weights_valid_region = shape_to_valid_region(weights_shape);
- const ValidRegion bias_valid_region = shape_to_valid_region(bias_shape);
- const ValidRegion dst_valid_region = shape_to_valid_region(output_shape);
-
- validate(src.info()->valid_region(), src_valid_region);
- validate(weights.info()->valid_region(), weights_valid_region);
- validate(bias.info()->valid_region(), bias_valid_region);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate QuantizationInfo
- ARM_COMPUTE_EXPECT(src.info()->quantization_info() == src_quantization_info, framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(weights.info()->quantization_info() == weights_quantization_info, framework::LogLevel::ERRORS);
-
- // Validate padding
- //TODO(COMPMID-415) Need to validate padding?
-}
-
template <typename T>
using NEGEMMDilatedConvolutionLayerFixture = ConvolutionValidationFixture<Tensor, Accessor, NEConvolutionLayer, T>;
diff --git a/tests/validation/NEON/DirectConvolutionLayer.cpp b/tests/validation/NEON/DirectConvolutionLayer.cpp
index 88578ca586..7277592736 100644
--- a/tests/validation/NEON/DirectConvolutionLayer.cpp
+++ b/tests/validation/NEON/DirectConvolutionLayer.cpp
@@ -195,8 +195,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(zip(zip(
// clang-format on
// *INDENT-ON*
-//TODO(COMPMID-415): Configuration tests?
-
template <typename T>
using NEDirectConvolutionLayerFixture = DirectConvolutionValidationFixture<Tensor, Accessor, NEDirectConvolutionLayer, T>;
diff --git a/tests/validation/NEON/ElementwiseAbsoluteValue.cpp b/tests/validation/NEON/ElementwiseAbsoluteValue.cpp
index 000a6de609..f135ba9913 100644
--- a/tests/validation/NEON/ElementwiseAbsoluteValue.cpp
+++ b/tests/validation/NEON/ElementwiseAbsoluteValue.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,26 +50,6 @@ RelativeTolerance<float> tolerance_fp16(0.01f);
TEST_SUITE(NEON)
TEST_SUITE(AbsLayer)
-
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEAbsLayer neg_layer;
- neg_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEAbsLayerFixture = AbsValidationFixture<Tensor, Accessor, NEAbsLayer, T>;
diff --git a/tests/validation/NEON/ElementwiseDivision.cpp b/tests/validation/NEON/ElementwiseDivision.cpp
index 4b613cbd0a..db34af1c05 100644
--- a/tests/validation/NEON/ElementwiseDivision.cpp
+++ b/tests/validation/NEON/ElementwiseDivision.cpp
@@ -103,23 +103,6 @@ TEST_SUITE_END() // F16
#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */
TEST_SUITE(F32)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, framework::dataset::concat(datasets::SmallShapes(), datasets::LargeShapes()),
- shape)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, DataType::F32);
- Tensor ref_src2 = create_tensor<Tensor>(shape, DataType::F32);
- Tensor dst = create_tensor<Tensor>(shape, DataType::F32);
-
- // Create and Configure function
- NEElementwiseDivision add;
- add.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEElementwiseDivisionFixture<float>, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), ElementwiseDivisionFP32Dataset))
{
// Validate output
diff --git a/tests/validation/NEON/ElementwiseExpLayer.cpp b/tests/validation/NEON/ElementwiseExpLayer.cpp
index 5b6f33ef96..3168b9ffe2 100644
--- a/tests/validation/NEON/ElementwiseExpLayer.cpp
+++ b/tests/validation/NEON/ElementwiseExpLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,25 +50,6 @@ RelativeTolerance<float> tolerance_fp16(0.01f);
TEST_SUITE(NEON)
TEST_SUITE(ExpLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEExpLayer exp_layer;
- exp_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEExpLayerFixture = ExpValidationFixture<Tensor, Accessor, NEExpLayer, T>;
diff --git a/tests/validation/NEON/ElementwiseLog.cpp b/tests/validation/NEON/ElementwiseLog.cpp
index 4c5a35d4ac..81e6dc87e8 100644
--- a/tests/validation/NEON/ElementwiseLog.cpp
+++ b/tests/validation/NEON/ElementwiseLog.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,25 +50,6 @@ RelativeTolerance<float> tolerance_fp16(0.01f);
TEST_SUITE(NEON)
TEST_SUITE(LogLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NELogLayer log_layer;
- log_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NELogLayerFixture = LogValidationFixture<Tensor, Accessor, NELogLayer, T>;
diff --git a/tests/validation/NEON/ElementwiseNegation.cpp b/tests/validation/NEON/ElementwiseNegation.cpp
index e121b13583..ae7dca1ef0 100644
--- a/tests/validation/NEON/ElementwiseNegation.cpp
+++ b/tests/validation/NEON/ElementwiseNegation.cpp
@@ -50,25 +50,6 @@ RelativeTolerance<float> tolerance_fp16(0.01f);
TEST_SUITE(NEON)
TEST_SUITE(NegLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NENegLayer neg_layer;
- neg_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NENegLayerFixture = NegValidationInPlaceFixture<Tensor, Accessor, NENegLayer, T>;
diff --git a/tests/validation/NEON/ElementwisePower.cpp b/tests/validation/NEON/ElementwisePower.cpp
index bdca861c0a..beef1c874b 100644
--- a/tests/validation/NEON/ElementwisePower.cpp
+++ b/tests/validation/NEON/ElementwisePower.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -100,22 +100,6 @@ TEST_SUITE_END() // F16
#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */
TEST_SUITE(F32)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, framework::dataset::concat(datasets::SmallShapes(), datasets::LargeShapes()),
- shape)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, DataType::F32);
- Tensor ref_src2 = create_tensor<Tensor>(shape, DataType::F32);
- Tensor dst = create_tensor<Tensor>(shape, DataType::F32);
-
- // Create and Configure function
- NEElementwisePower power;
- power.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
FIXTURE_DATA_TEST_CASE(RunSmall, NEElementwisePowerFixture<float>, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), ElementwisePowerFP32Dataset))
{
diff --git a/tests/validation/NEON/ElementwiseRound.cpp b/tests/validation/NEON/ElementwiseRound.cpp
index fc194342fe..e0f24128f6 100644
--- a/tests/validation/NEON/ElementwiseRound.cpp
+++ b/tests/validation/NEON/ElementwiseRound.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,25 +43,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(RoundLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NERoundLayer round_layer;
- round_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NERoundLayerFixture = RoundValidationFixture<Tensor, Accessor, NERoundLayer, T>;
diff --git a/tests/validation/NEON/ElementwiseSin.cpp b/tests/validation/NEON/ElementwiseSin.cpp
index 2e93ce3ee9..a2e6cb3760 100644
--- a/tests/validation/NEON/ElementwiseSin.cpp
+++ b/tests/validation/NEON/ElementwiseSin.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,25 +50,6 @@ AbsoluteTolerance<float> tolerance_fp16(0.0005f);
TEST_SUITE(NEON)
TEST_SUITE(SinLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NESinLayer sin_layer;
- sin_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NESinLayerFixture = SinValidationFixture<Tensor, Accessor, NESinLayer, T>;
diff --git a/tests/validation/NEON/ElementwiseSquareDiff.cpp b/tests/validation/NEON/ElementwiseSquareDiff.cpp
index e81edf77dc..b50db3d4a3 100644
--- a/tests/validation/NEON/ElementwiseSquareDiff.cpp
+++ b/tests/validation/NEON/ElementwiseSquareDiff.cpp
@@ -109,23 +109,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
// *INDENT-ON*
TEST_SUITE(S32)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, datasets::SmallShapes(),
- shape)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, DataType::S32);
- Tensor ref_src2 = create_tensor<Tensor>(shape, DataType::S32);
- Tensor dst = create_tensor<Tensor>(shape, DataType::S32);
-
- // Create and Configure function
- NEElementwiseSquaredDiff add;
- add.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEElementwiseSquaredDiffFixture<int32_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallShapes(), ElementwiseSquaredDiffS32Dataset))
{
// Validate output
@@ -134,23 +117,6 @@ FIXTURE_DATA_TEST_CASE(RunSmall, NEElementwiseSquaredDiffFixture<int32_t>, frame
TEST_SUITE_END() // S32
TEST_SUITE(S16)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", { DataType::S16 })),
- shape, data_type)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, data_type);
- Tensor ref_src2 = create_tensor<Tensor>(shape, DataType::S16);
- Tensor dst = create_tensor<Tensor>(shape, DataType::S16);
-
- // Create and Configure function
- NEElementwiseSquaredDiff add;
- add.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEElementwiseSquaredDiffFixture<int16_t>, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), ElementwiseSquaredDiffS16Dataset))
{
// Validate output
@@ -163,23 +129,6 @@ using NEElementwiseSquaredDiffQuantizedFixture = ElementwiseSquaredDiffValidatio
TEST_SUITE(Quantized)
TEST_SUITE(QASYMM8)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, datasets::SmallShapes(),
- shape)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, DataType::QASYMM8);
- Tensor ref_src2 = create_tensor<Tensor>(shape, DataType::QASYMM8);
- Tensor dst = create_tensor<Tensor>(shape, DataType::QASYMM8);
-
- // Create and Configure function
- NEElementwiseMin add;
- add.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEElementwiseSquaredDiffQuantizedFixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(datasets::SmallShapes(),
ElementwiseSquaredDiffQASYMM8Dataset),
framework::dataset::make("QuantizationInfo", { QuantizationInfo(5.f / 255.f, 20) })),
@@ -231,23 +180,6 @@ TEST_SUITE_END() // F16
#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */
TEST_SUITE(F32)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, datasets::SmallShapes(),
- shape)
-{
- // Create tensors
- Tensor ref_src1 = create_tensor<Tensor>(shape, DataType::F32);
- Tensor ref_src2 = create_tensor<Tensor>(shape, DataType::F32);
- Tensor dst = create_tensor<Tensor>(shape, DataType::F32);
-
- // Create and Configure function
- NEElementwiseSquaredDiff add;
- add.configure(&ref_src1, &ref_src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEElementwiseSquaredDiffFixture<float>, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), ElementwiseSquaredDiffFP32Dataset))
{
// Validate output
diff --git a/tests/validation/NEON/EqualizeHistogram.cpp b/tests/validation/NEON/EqualizeHistogram.cpp
index e1d3986930..b844c3a1df 100644
--- a/tests/validation/NEON/EqualizeHistogram.cpp
+++ b/tests/validation/NEON/EqualizeHistogram.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,31 +38,6 @@ namespace validation
{
TEST_SUITE(NEON)
TEST_SUITE(EqualizeHistogram)
-
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEEqualizeHistogram equalize_histogram;
- equalize_histogram.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEEqualizeHistogramFixture = EqualizeHistogramValidationFixture<Tensor, Accessor, NEEqualizeHistogram, T>;
diff --git a/tests/validation/NEON/Erode.cpp b/tests/validation/NEON/Erode.cpp
index ff9c9270c5..67fb0fb1f7 100644
--- a/tests/validation/NEON/Erode.cpp
+++ b/tests/validation/NEON/Erode.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,41 +50,6 @@ constexpr BorderSize border_size(filter_size / 2); /* Border size of the kerne
TEST_SUITE(NEON)
TEST_SUITE(Erode)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- datasets::BorderModes()),
- shape, data_type, border_mode)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEErode erode;
- erode.configure(&src, &dst, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), border_size);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(1);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEErodeFixture = ErodeValidationFixture<Tensor, Accessor, NEErode, T>;
diff --git a/tests/validation/NEON/FFT.cpp b/tests/validation/NEON/FFT.cpp
index 7f1c7c52b4..bc528dd9a6 100644
--- a/tests/validation/NEON/FFT.cpp
+++ b/tests/validation/NEON/FFT.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -72,30 +72,6 @@ constexpr float tolerance_num = 0.07f; /**< Tolerance number */
TEST_SUITE(NEON)
TEST_SUITE(FFT1D)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(shapes_1d, data_types),
- shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type, 2);
- Tensor dst = create_tensor<Tensor>(shape, data_type, 2);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEFFT1D fft1d;
- fft1d.configure(&src, &dst, FFT1DInfo());
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- validate(src.info()->padding(), PaddingSize());
- validate(dst.info()->padding(), PaddingSize());
-}
-
// *INDENT-OFF*
// clang-format off
DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
@@ -140,31 +116,6 @@ TEST_SUITE_END() // Float
TEST_SUITE_END() // FFT1D
TEST_SUITE(FFT2D)
-
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(shapes_2d, data_types),
- shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type, 2);
- Tensor dst = create_tensor<Tensor>(shape, data_type, 2);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEFFT2D fft2d;
- fft2d.configure(&src, &dst, FFT2DInfo());
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- validate(src.info()->padding(), PaddingSize());
- validate(dst.info()->padding(), PaddingSize());
-}
-
// *INDENT-OFF*
// clang-format off
DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(
diff --git a/tests/validation/NEON/FastCorners.cpp b/tests/validation/NEON/FastCorners.cpp
index 389aa604ca..96dadc5169 100644
--- a/tests/validation/NEON/FastCorners.cpp
+++ b/tests/validation/NEON/FastCorners.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2018 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -53,41 +53,6 @@ const AbsoluteTolerance<float> tolerance(0.5f);
TEST_SUITE(NEON)
TEST_SUITE(FastCorners)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(combine(concat(datasets::Small2DShapes(), datasets::Large2DShapes()),
- framework::dataset::make("Format", Format::U8)),
- framework::dataset::make("SuppressNonMax", { false, true })),
- framework::dataset::make("BorderMode", BorderMode::UNDEFINED)),
- shape, format, suppress_nonmax, border_mode)
-{
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> int_dist(0, 255);
- std::uniform_real_distribution<float> real_dist(0, 255);
-
- const uint8_t constant_border_value = int_dist(gen);
- const float threshold = real_dist(gen);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- src.info()->set_format(format);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- KeyPointArray corners;
-
- // Create and configure function
- NEFastCorners fast_corners;
- fast_corners.configure(&src, threshold, suppress_nonmax, &corners, border_mode, constant_border_value);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 1); // elems_processed
-
- calculator.set_border_size(bresenham_radius);
- calculator.set_access_offset(-bresenham_radius);
- calculator.set_accessed_elements(8); // elems_read
-
- validate(src.info()->padding(), calculator.required_padding());
-}
-
template <typename T>
using NEFastCornersFixture = FastCornersValidationFixture<Tensor, Accessor, KeyPointArray, NEFastCorners, T>;
diff --git a/tests/validation/NEON/GEMMLowp.cpp b/tests/validation/NEON/GEMMLowp.cpp
index ca7d50fd40..368433201b 100644
--- a/tests/validation/NEON/GEMMLowp.cpp
+++ b/tests/validation/NEON/GEMMLowp.cpp
@@ -79,26 +79,6 @@ TEST_SUITE(GEMMLowp)
TEST_SUITE(MatrixMultiplyCore)
using NEGEMMLowpMatrixMultiplyCoreFixture = GEMMLowpMatrixMultiplyCoreValidationFixture<Tensor, Accessor, NEGEMMLowpMatrixMultiplyCore>;
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, framework::dataset::concat(datasets::SmallGEMMLowpDataset(), datasets::LargeGEMMLowpDataset()),
- shape_a, shape_b, shape_c, a_offset, b_offset)
-{
- // Create tensors
- Tensor a = create_tensor<Tensor>(shape_a, DataType::QASYMM8);
- Tensor b = create_tensor<Tensor>(shape_b, DataType::QASYMM8);
- Tensor c = create_tensor<Tensor>(shape_c, DataType::S32);
-
- a.info()->set_quantization_info(QuantizationInfo(1.0f / 255, a_offset));
- b.info()->set_quantization_info(QuantizationInfo(1.0f / 255, b_offset));
-
- ARM_COMPUTE_EXPECT(a.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(b.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(c.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEGEMMLowpMatrixMultiplyCore gemmlowp_mm;
- gemmlowp_mm.configure(&a, &b, nullptr, &c);
-}
-
// *INDENT-OFF*
// clang-format off
DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
@@ -224,11 +204,10 @@ TEST_CASE(NoPaddingAdded, framework::DatasetMode::PRECOMMIT)
Tensor output = create_tensor<Tensor>(TensorShape(21U, 13U), DataType::QASYMM8);
GEMMLowpOutputStageInfo output_stage = GEMMLowpOutputStageInfo();
- output_stage.type = GEMMLowpOutputStageType::QUANTIZE_DOWN;
- output_stage.gemmlowp_min_bound = 0;
- output_stage.gemmlowp_max_bound = 205;
- output_stage.output_data_type = DataType::QASYMM8;
-
+ output_stage.type = GEMMLowpOutputStageType::QUANTIZE_DOWN;
+ output_stage.gemmlowp_min_bound = 0;
+ output_stage.gemmlowp_max_bound = 205;
+ output_stage.output_data_type = DataType::QASYMM8;
NEGEMMLowpOutputStage f;
f.configure(&input1, &input2, &output, output_stage);
@@ -239,7 +218,6 @@ TEST_CASE(NoPaddingAdded, framework::DatasetMode::PRECOMMIT)
validate(output.info()->padding(), PaddingSize());
}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEGEMMLowpQuantizeDownInt32ScaleFixture, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), quantize_down_int32_to_uint8_scale_cases))
{
// Validate output
@@ -378,48 +356,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(),
- quantize_down_int32_to_uint8_scale_by_fixedpoint_cases),
- shape, result_fixedpoint_multiplier, result_shift, result_offset_after_shift, min, max, add_bias)
-{
- TensorShape shape_bias(shape[0]);
-
- // Create tensors
- Tensor in = create_tensor<Tensor>(shape, DataType::S32);
- Tensor bias = create_tensor<Tensor>(shape_bias, DataType::S32);
- Tensor out = create_tensor<Tensor>(shape, DataType::QASYMM8);
-
- ARM_COMPUTE_EXPECT(in.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(bias.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(out.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint output_stage;
- output_stage.configure(&in, add_bias ? &bias : nullptr, &out, result_fixedpoint_multiplier, result_shift, result_offset_after_shift, min, max);
-
- // Validate valid region input and output
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(in.info()->valid_region(), valid_region);
- validate(out.info()->valid_region(), valid_region);
-
- // Validate valid region bias
- if(add_bias)
- {
- const ValidRegion valid_region_bias = shape_to_valid_region(shape_bias);
- validate(bias.info()->valid_region(), valid_region_bias);
- }
-
- // Validate padding
- const PaddingSize padding(0);
- validate(in.info()->padding(), padding);
- validate(out.info()->padding(), padding);
-
- if(add_bias)
- {
- validate(bias.info()->padding(), padding);
- }
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointFixture, framework::DatasetMode::ALL, combine(datasets::SmallShapes(),
quantize_down_int32_to_uint8_scale_by_fixedpoint_cases))
{
@@ -502,47 +438,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(),
- quantize_down_int32_to_int8_scale_by_fixedpoint_cases),
- shape, result_fixedpoint_multiplier, result_shift, result_offset_after_shift, min, max, add_bias)
-{
- TensorShape shape_bias(shape[0]);
-
- // Create tensors
- Tensor in = create_tensor<Tensor>(shape, DataType::S32);
- Tensor bias = create_tensor<Tensor>(shape_bias, DataType::S32);
- Tensor out = create_tensor<Tensor>(shape, DataType::QASYMM8_SIGNED);
-
- ARM_COMPUTE_EXPECT(in.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(bias.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(out.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPoint output_stage;
- output_stage.configure(&in, add_bias ? &bias : nullptr, &out, result_fixedpoint_multiplier, result_shift, result_offset_after_shift, min, max);
-
- // Validate valid region input and output
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(in.info()->valid_region(), valid_region);
- validate(out.info()->valid_region(), valid_region);
-
- // Validate valid region bias
- if(add_bias)
- {
- const ValidRegion valid_region_bias = shape_to_valid_region(shape_bias);
- validate(bias.info()->valid_region(), valid_region_bias);
- }
-
- // Validate padding
- const PaddingSize padding(0);
- validate(in.info()->padding(), padding);
- validate(out.info()->padding(), padding);
-
- if(add_bias)
- {
- validate(bias.info()->padding(), padding);
- }
-}
FIXTURE_DATA_TEST_CASE(RunSmall, NEGEMMLowpQuantizeDownInt32ToInt8ScaleByFixedPointFixture, framework::DatasetMode::ALL, combine(datasets::SmallShapes(),
quantize_down_int32_to_int8_scale_by_fixedpoint_cases))
{
@@ -616,47 +511,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(),
- quantize_down_int32_to_int16_scale_by_fixedpoint_cases),
- shape, result_fixedpoint_multiplier, result_shift, min, max, add_bias)
-{
- TensorShape shape_bias(shape[0]);
-
- // Create tensors
- Tensor in = create_tensor<Tensor>(shape, DataType::S32);
- Tensor bias = create_tensor<Tensor>(shape_bias, DataType::S32);
- Tensor out = create_tensor<Tensor>(shape, DataType::QSYMM16);
-
- ARM_COMPUTE_EXPECT(in.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(bias.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(out.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPoint output_stage;
- output_stage.configure(&in, add_bias ? &bias : nullptr, &out, result_fixedpoint_multiplier, result_shift, min, max);
-
- // Validate valid region input and output
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(in.info()->valid_region(), valid_region);
- validate(out.info()->valid_region(), valid_region);
-
- // Validate valid region bias
- if(add_bias)
- {
- const ValidRegion valid_region_bias = shape_to_valid_region(shape_bias);
- validate(bias.info()->valid_region(), valid_region_bias);
- }
-
- // Validate padding
- const PaddingSize padding(0);
- validate(in.info()->padding(), padding);
- validate(out.info()->padding(), padding);
-
- if(add_bias)
- {
- validate(bias.info()->padding(), padding);
- }
-}
TEST_SUITE(NoRelu)
TEST_SUITE(MultSmallerEq1)
FIXTURE_DATA_TEST_CASE(RunSmall, NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointFixture, framework::DatasetMode::ALL, combine(datasets::SmallShapes(),
diff --git a/tests/validation/NEON/Gather.cpp b/tests/validation/NEON/Gather.cpp
index af534ba772..d2d5df802a 100644
--- a/tests/validation/NEON/Gather.cpp
+++ b/tests/validation/NEON/Gather.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -97,26 +97,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration,
- framework::DatasetMode::ALL,
- combine(arm_compute::test::datasets::SmallGatherDataset(), framework::dataset::make("DataType", { DataType::F32 })),
- input_shape, indices_shape, axis, data_type)
-{
- const uint32_t actual_axis = wrap_around(axis, static_cast<int>(input_shape.num_dimensions()));
- Tensor src = create_tensor<Tensor>(input_shape, data_type);
- Tensor indices = create_tensor<Tensor>(indices_shape, DataType::U32);
- TensorShape dst_shape = arm_compute::misc::shape_calculator::compute_gather_shape(input_shape, indices_shape, actual_axis);
- Tensor dst = create_tensor<Tensor>(dst_shape, data_type);
-
- // Create and Configure function
- NEGather gather;
- gather.configure(&src, &indices, &dst, axis);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(dst.info()->tensor_shape());
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEGatherFixture = GatherFixture<Tensor, Accessor, NEGather, T>;
diff --git a/tests/validation/NEON/Gaussian3x3.cpp b/tests/validation/NEON/Gaussian3x3.cpp
index 7396be7845..bcd9e0259a 100644
--- a/tests/validation/NEON/Gaussian3x3.cpp
+++ b/tests/validation/NEON/Gaussian3x3.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,41 +50,6 @@ constexpr BorderSize border_size(filter_size / 2); /** Border size of the kern
TEST_SUITE(NEON)
TEST_SUITE(Gaussian3x3)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- datasets::BorderModes()),
- shape, data_type, border_mode)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEGaussian3x3 gaussian3x3;
- gaussian3x3.configure(&src, &dst, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), border_size);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(1);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEGaussian3x3Fixture = Gaussian3x3ValidationFixture<Tensor, Accessor, NEGaussian3x3, T>;
diff --git a/tests/validation/NEON/Gaussian5x5.cpp b/tests/validation/NEON/Gaussian5x5.cpp
index 6c4c480ee9..9b5ae401b0 100644
--- a/tests/validation/NEON/Gaussian5x5.cpp
+++ b/tests/validation/NEON/Gaussian5x5.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,41 +50,6 @@ constexpr BorderSize border_size(filter_size / 2); /** Border size of the kern
TEST_SUITE(NEON)
TEST_SUITE(Gaussian5x5)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- datasets::BorderModes()),
- shape, data_type, border_mode)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEGaussian5x5 gaussian5x5;
- gaussian5x5.configure(&src, &dst, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), border_size);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 16);
- calculator.set_border_size(2);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_processed_elements(8);
- calculator.set_access_offset(-2);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEGaussian5x5Fixture = Gaussian5x5ValidationFixture<Tensor, Accessor, NEGaussian5x5, T>;
diff --git a/tests/validation/NEON/GaussianPyramid.cpp b/tests/validation/NEON/GaussianPyramid.cpp
index ed8e43cea9..a6e6f43f8a 100644
--- a/tests/validation/NEON/GaussianPyramid.cpp
+++ b/tests/validation/NEON/GaussianPyramid.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2018 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -20,7 +20,7 @@
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
-*/
+ */
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/NEON/functions/NEGaussianPyramid.h"
#include "arm_compute/runtime/Tensor.h"
@@ -69,27 +69,6 @@ TEST_SUITE(NEON)
TEST_SUITE(GaussianPyramid)
TEST_SUITE(Half)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, large_gaussian_pyramid_levels,
- shape, border_mode, num_levels)
-{
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
-
- // Create pyramid
- PyramidInfo pyramid_info(num_levels, SCALE_PYRAMID_HALF, shape, Format::U8);
- Pyramid dst;
- dst.init(pyramid_info);
-
- NEGaussianPyramidHalf gaussian_pyramid_half;
- gaussian_pyramid_half.configure(&src, &dst, border_mode, 0);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- for(size_t level = 0; level < pyramid_info.num_levels(); ++level)
- {
- ARM_COMPUTE_EXPECT(dst.get_pyramid_level(level)->info()->is_resizable(), framework::LogLevel::ERRORS);
- }
-}
-
template <typename T>
using NEGaussianPyramidHalfFixture = GaussianPyramidHalfValidationFixture<Tensor, Accessor, NEGaussianPyramidHalf, T, Pyramid>;
diff --git a/tests/validation/NEON/HarrisCorners.cpp b/tests/validation/NEON/HarrisCorners.cpp
index e4c0827bb8..d88cad6564 100644
--- a/tests/validation/NEON/HarrisCorners.cpp
+++ b/tests/validation/NEON/HarrisCorners.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -56,47 +56,6 @@ const auto data = combine(framework::dataset::make("GradientSize", { 3, 5, 7 }),
TEST_SUITE(NEON)
TEST_SUITE(HarrisCorners)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::Small2DShapes(), data), framework::dataset::make("Format", Format::U8)), shape,
- gradient_size, block_size, border_mode, format)
-{
- std::mt19937 gen(library->seed());
- std::uniform_real_distribution<float> real_dist(0.f, 0.01f);
-
- const float threshold = real_dist(gen);
- const float sensitivity = real_dist(gen);
-
- constexpr float max_euclidean_distance = 30.f;
- real_dist = std::uniform_real_distribution<float>(0.f, max_euclidean_distance);
- const float min_dist = real_dist(gen);
-
- // Generate a random constant value
- std::uniform_int_distribution<uint8_t> int_dist(0, 255);
- const uint8_t constant_border_value = int_dist(gen);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- src.info()->set_format(format);
- KeyPointArray corners;
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create harris corners configure function
- NEHarrisCorners harris_corners;
- harris_corners.configure(&src, threshold, min_dist, sensitivity, gradient_size, block_size, &corners, border_mode, constant_border_value);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
-
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(gradient_size / 2);
- calculator.set_access_offset(-gradient_size / 2);
- calculator.set_accessed_elements(16);
-
- const PaddingSize padding = calculator.required_padding();
-
- validate(src.info()->padding(), padding);
-}
-
template <typename T>
using NEHarrisCornersFixture = HarrisCornersValidationFixture<Tensor, Accessor, KeyPointArray, NEHarrisCorners, T>;
diff --git a/tests/validation/NEON/Histogram.cpp b/tests/validation/NEON/Histogram.cpp
index 03b2e2b705..cd113857f3 100644
--- a/tests/validation/NEON/Histogram.cpp
+++ b/tests/validation/NEON/Histogram.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -45,44 +45,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(Histogram)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(),
- framework::dataset::make("DataType", DataType::U8)),
- shape, data_type)
-{
- // Setup Distribution
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<size_t> distribution_size_t(1, 30);
- const size_t num_bins = distribution_size_t(gen);
- std::uniform_int_distribution<int32_t> distribution_int32_t(0, 125);
- const size_t offset = distribution_int32_t(gen);
- std::uniform_int_distribution<uint32_t> distribution_uint32_t(1, 255 - offset);
- const size_t range = distribution_uint32_t(gen);
- Distribution1D distribution_dst(num_bins, offset, range);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- TensorShape dst_shape(num_bins);
- Tensor dst = create_tensor<Tensor>(dst_shape, DataType::U32);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEHistogram histogram;
- histogram.configure(&src, &distribution_dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- const ValidRegion valid_region_dst = shape_to_valid_region(dst_shape);
- validate(dst.info()->valid_region(), valid_region_dst);
-
- // Validate padding
- const PaddingSize padding;
- validate(src.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEHistogramFixture = HistogramValidationFixture<Tensor, Accessor, NEHistogram, T, Distribution1D>;
diff --git a/tests/validation/NEON/IntegralImage.cpp b/tests/validation/NEON/IntegralImage.cpp
index 2a8aa956b7..14e7df7152 100644
--- a/tests/validation/NEON/IntegralImage.cpp
+++ b/tests/validation/NEON/IntegralImage.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -38,31 +38,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(IntegralImage)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, DataType::U32);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEIntegralImage integral_image;
- integral_image.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize src_padding = PaddingCalculator(shape.x(), 16).required_padding();
- const PaddingSize dst_padding(1, src_padding.right, 0, 1);
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEIntegralImageFixture = IntegralImageValidationFixture<Tensor, Accessor, NEIntegralImage, T>;
diff --git a/tests/validation/NEON/LaplacianPyramid.cpp b/tests/validation/NEON/LaplacianPyramid.cpp
index 0c03c70445..5ddd0e750f 100644
--- a/tests/validation/NEON/LaplacianPyramid.cpp
+++ b/tests/validation/NEON/LaplacianPyramid.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -20,7 +20,7 @@
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
-*/
+ */
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/NEON/functions/NELaplacianPyramid.h"
#include "arm_compute/runtime/Tensor.h"
@@ -77,39 +77,6 @@ TEST_SUITE(LaplacianPyramid)
// *INDENT-OFF*
// clang-format off
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(
- concat(datasets::Medium2DShapes(), datasets::Large2DShapes()),
- datasets::BorderModes()),
- large_laplacian_pyramid_levels),
- shape, border_mode, num_levels)
-{
- // Create pyramid info
- PyramidInfo pyramid_info(num_levels, SCALE_PYRAMID_HALF, shape, Format::S16);
- Pyramid dst_pyramid{};
- dst_pyramid.init(pyramid_info);
-
- // Create Tensors
- Tensor src = create_tensor<Tensor>(shape, Format::U8);
-
- // The first two dimensions of the output tensor must match the first two
- // dimensions of the tensor in the last level of the pyramid
- TensorShape dst_shape(shape);
- dst_shape.set(0, dst_pyramid.get_pyramid_level(num_levels - 1)->info()->dimension(0));
- dst_shape.set(1, dst_pyramid.get_pyramid_level(num_levels - 1)->info()->dimension(1));
- Tensor dst = create_tensor<Tensor>(dst_shape, Format::S16);
-
- // Create and configure function
- NELaplacianPyramid laplacian_pyramid;
- laplacian_pyramid.configure(&src, &dst_pyramid, &dst, border_mode, 0);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- for(size_t level = 0; level < pyramid_info.num_levels(); ++level)
- {
- ARM_COMPUTE_EXPECT(dst_pyramid.get_pyramid_level(level)->info()->is_resizable(), framework::LogLevel::ERRORS);
- }
-}
using NELaplacianPyramidFixture = LaplacianPyramidValidationFixture<Tensor, Accessor, NELaplacianPyramid, uint8_t, int16_t, Pyramid>;
diff --git a/tests/validation/NEON/LaplacianReconstruct.cpp b/tests/validation/NEON/LaplacianReconstruct.cpp
index bc1151f700..e407ea0a22 100644
--- a/tests/validation/NEON/LaplacianReconstruct.cpp
+++ b/tests/validation/NEON/LaplacianReconstruct.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -20,7 +20,7 @@
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
-*/
+ */
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/NEON/functions/NELaplacianPyramid.h"
#include "arm_compute/runtime/NEON/functions/NELaplacianReconstruct.h"
@@ -68,48 +68,6 @@ TEST_SUITE(LaplacianReconstruct)
// *INDENT-OFF*
// clang-format off
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(
- concat(datasets::Medium2DShapes(), datasets::Large2DShapes()),
- datasets::BorderModes()),
- large_laplacian_reconstruct_levels),
- shape, border_mode, num_levels)
-{
- // Create pyramid info
- PyramidInfo pyramid_info(num_levels, SCALE_PYRAMID_HALF, shape, Format::S16);
- Pyramid dst_pyramid{};
- dst_pyramid.init(pyramid_info);
-
- // Create Tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
-
- // The first two dimensions of the output tensor must match the first two
- // dimensions of the tensor in the last level of the pyramid
- TensorShape dst_shape(shape);
- dst_shape.set(0, dst_pyramid.get_pyramid_level(num_levels - 1)->info()->dimension(0));
- dst_shape.set(1, dst_pyramid.get_pyramid_level(num_levels - 1)->info()->dimension(1));
- Tensor dst = create_tensor<Tensor>(dst_shape, DataType::S16);
-
- // The dimensions of the reconstruct are the same as the src shape
- Tensor rec_dst = create_tensor<Tensor>(shape, DataType::U8);
-
- // Create and configure pyramid function
- NELaplacianPyramid laplacian_pyramid;
- laplacian_pyramid.configure(&src, &dst_pyramid, &dst, border_mode, 0);
-
- // Create and configure reconstruct function
- NELaplacianReconstruct laplacian_reconstruct;
- laplacian_reconstruct.configure(&dst_pyramid, &dst, &rec_dst, border_mode, 0);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- for(size_t level = 0; level < pyramid_info.num_levels(); ++level)
- {
- ARM_COMPUTE_EXPECT(dst_pyramid.get_pyramid_level(level)->info()->is_resizable(), framework::LogLevel::ERRORS);
- }
-
- ARM_COMPUTE_EXPECT(rec_dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-}
using NELaplacianReconstructFixture = LaplacianReconstructValidationFixture<Tensor, Accessor, NELaplacianReconstruct, NELaplacianPyramid, int16_t, uint8_t, Pyramid>;
diff --git a/tests/validation/NEON/Magnitude.cpp b/tests/validation/NEON/Magnitude.cpp
index e14b32a89e..9ba119b234 100644
--- a/tests/validation/NEON/Magnitude.cpp
+++ b/tests/validation/NEON/Magnitude.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -49,32 +49,6 @@ AbsoluteTolerance<T> tolerance(MagnitudeType magnitude_type)
TEST_SUITE(NEON)
TEST_SUITE(Magnitude)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::S16)), shape, data_type)
-{
- // Create tensors
- Tensor src1 = create_tensor<Tensor>(shape, data_type);
- Tensor src2 = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src1.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(src2.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function (default MagnitudeType::L2NORM)
- NEMagnitude magnitude;
- magnitude.configure(&src1, &src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src1.info()->padding(), padding);
- validate(src2.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEMagnitudeFixture = MagnitudeValidationFixture<Tensor, Accessor, NEMagnitude, T>;
diff --git a/tests/validation/NEON/MeanStdDev.cpp b/tests/validation/NEON/MeanStdDev.cpp
index a10939680c..d688719331 100644
--- a/tests/validation/NEON/MeanStdDev.cpp
+++ b/tests/validation/NEON/MeanStdDev.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -44,26 +44,6 @@ RelativeTolerance<float> tolerance_rel_low_error(0.0005f);
TEST_SUITE(NEON)
TEST_SUITE(MeanStdDev)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
-
- // Create output variables
- float mean = 0.f;
- float std_dev = 0.f;
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create configure function
- NEMeanStdDev mean_std_dev_image;
- mean_std_dev_image.configure(&src, &mean, &std_dev);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src.info()->padding(), padding);
-}
-
template <typename T>
using NEMeanStdDevFixture = MeanStdDevValidationFixture<Tensor, Accessor, NEMeanStdDev, T>;
diff --git a/tests/validation/NEON/Median3x3.cpp b/tests/validation/NEON/Median3x3.cpp
index 1924a448d6..f22a27713b 100644
--- a/tests/validation/NEON/Median3x3.cpp
+++ b/tests/validation/NEON/Median3x3.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,41 +50,6 @@ constexpr BorderSize border_size(filter_size / 2); /* Border size of the kerne
TEST_SUITE(NEON)
TEST_SUITE(Median3x3)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- datasets::BorderModes()),
- shape, data_type, border_mode)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEMedian3x3 median3x3;
- median3x3.configure(&src, &dst, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, (border_mode == BorderMode::UNDEFINED), border_size);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
- calculator.set_border_size(1);
- calculator.set_border_mode(border_mode);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEMedian3x3Fixture = Median3x3ValidationFixture<Tensor, Accessor, NEMedian3x3, T>;
diff --git a/tests/validation/NEON/MinMaxLocation.cpp b/tests/validation/NEON/MinMaxLocation.cpp
index 973ea930bb..553159bc7c 100644
--- a/tests/validation/NEON/MinMaxLocation.cpp
+++ b/tests/validation/NEON/MinMaxLocation.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -43,34 +43,7 @@ TEST_SUITE(MinMaxLocation)
template <typename T>
using NEMinMaxLocationFixture = MinMaxLocationValidationFixture<Tensor, Accessor, Array<Coordinates2D>, ArrayAccessor<Coordinates2D>, NEMinMaxLocation, T>;
-void validate_configuration(const Tensor &src, TensorShape shape)
-{
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create output storage
- int32_t min{};
- int32_t max{};
- Coordinates2DArray min_loc(shape.total_size());
- Coordinates2DArray max_loc(shape.total_size());
-
- // Create and configure function
- NEMinMaxLocation min_max_loc;
- min_max_loc.configure(&src, &min, &max, &min_loc, &max_loc);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 1).required_padding();
- validate(src.info()->padding(), padding);
-}
-
TEST_SUITE(U8)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("DataType", DataType::U8)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- src.info()->set_format(Format::U8);
-
- validate_configuration(src, shape);
-}
FIXTURE_DATA_TEST_CASE(RunSmall, NEMinMaxLocationFixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::Small2DShapes(), framework::dataset::make("DataType",
DataType::U8)))
@@ -87,14 +60,6 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NEMinMaxLocationFixture<uint8_t>, framework::Da
TEST_SUITE_END() // U8
TEST_SUITE(S16)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("DataType", DataType::S16)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- src.info()->set_format(Format::S16);
-
- validate_configuration(src, shape);
-}
FIXTURE_DATA_TEST_CASE(RunSmall, NEMinMaxLocationFixture<int16_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::Small2DShapes(), framework::dataset::make("DataType",
DataType::S16)))
@@ -111,14 +76,6 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NEMinMaxLocationFixture<int16_t>, framework::Da
TEST_SUITE_END() // S16
TEST_SUITE(Float)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::Small2DShapes(), framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- src.info()->set_format(Format::F32);
-
- validate_configuration(src, shape);
-}
FIXTURE_DATA_TEST_CASE(RunSmall, NEMinMaxLocationFixture<float>, framework::DatasetMode::PRECOMMIT, combine(datasets::Small2DShapes(), framework::dataset::make("DataType",
DataType::F32)))
diff --git a/tests/validation/NEON/NonLinearFilter.cpp b/tests/validation/NEON/NonLinearFilter.cpp
index c54394d3a1..5074b028a9 100644
--- a/tests/validation/NEON/NonLinearFilter.cpp
+++ b/tests/validation/NEON/NonLinearFilter.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -41,52 +41,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(NonLinearFilter)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(combine(combine(datasets::SmallShapes(), datasets::NonLinearFilterFunctions()),
- framework::dataset::make("MaskSize", { 3U, 5U })),
- datasets::MatrixPatterns()),
- datasets::BorderModes()),
- shape, function, mask_size, pattern, border_mode)
-{
- std::mt19937 generator(library->seed());
- std::uniform_int_distribution<uint8_t> distribution_u8(0, 255);
- const uint8_t constant_border_value = distribution_u8(generator);
-
- // Create the mask
- std::vector<uint8_t> mask(mask_size * mask_size);
- fill_mask_from_pattern(mask.data(), mask_size, mask_size, pattern);
- const auto half_mask_size = static_cast<int>(mask_size / 2);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, DataType::U8);
- Tensor dst = create_tensor<Tensor>(shape, DataType::U8);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NENonLinearFilter filter;
- filter.configure(&src, &dst, function, mask_size, pattern, mask.data(), border_mode, constant_border_value);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, BorderSize(half_mask_size));
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), ((MatrixPattern::OTHER == pattern) ? 1 : 8));
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(half_mask_size);
-
- const PaddingSize write_padding = calculator.required_padding(PaddingCalculator::Option::EXCLUDE_BORDER);
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-half_mask_size);
-
- const PaddingSize read_padding = calculator.required_padding(PaddingCalculator::Option::INCLUDE_BORDER);
-
- validate(src.info()->padding(), read_padding);
- validate(dst.info()->padding(), write_padding);
-}
-
template <typename T>
using NENonLinearFilterFixture = NonLinearFilterValidationFixture<Tensor, Accessor, NENonLinearFilter, T>;
diff --git a/tests/validation/NEON/NormalizationLayer.cpp b/tests/validation/NEON/NormalizationLayer.cpp
index 255a68df05..d910cbdc45 100644
--- a/tests/validation/NEON/NormalizationLayer.cpp
+++ b/tests/validation/NEON/NormalizationLayer.cpp
@@ -91,41 +91,15 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32)),
- shape, data_type)
-{
- NormalizationLayerInfo info(NormType::IN_MAP_1D, 3U, 5.0f, 2.0f, 1.f, false);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NENormalizationLayer norm;
- norm.configure(&src, &dst, info);
-
- validate(src.info()->padding(), PaddingSize(0, 0, 0, 0));
-}
-
template <typename T>
using NENormalizationLayerFixture = NormalizationValidationFixture<Tensor, Accessor, NENormalizationLayer, T>;
TEST_SUITE(Float)
#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
TEST_SUITE(FP16)
-FIXTURE_DATA_TEST_CASE(RunSmall, NENormalizationLayerFixture<half>, framework::DatasetMode::PRECOMMIT, combine(combine(NormalizationDataset,
- framework::dataset::make("DataType", DataType::F16)),
- framework::dataset::make("DataLayout", { DataLayout::NCHW, DataLayout::NHWC })))
-{
- // Validate output
- validate(Accessor(_target), _reference, tolerance_f16);
-}
-FIXTURE_DATA_TEST_CASE(RunLarge, NENormalizationLayerFixture<half>, framework::DatasetMode::NIGHTLY, combine(combine(NormalizationDataset,
- framework::dataset::make("DataType", DataType::F16)),
- framework::dataset::make("DataLayout", { DataLayout::NCHW, DataLayout::NHWC })))
+FIXTURE_DATA_TEST_CASE(RunSmall, NENormalizationLayerFixture<half>, framework::DatasetMode::ALL, combine(combine(NormalizationDataset,
+ framework::dataset::make("DataType", DataType::F16)),
+ framework::dataset::make("DataLayout", { DataLayout::NCHW, DataLayout::NHWC })))
{
// Validate output
validate(Accessor(_target), _reference, tolerance_f16);
diff --git a/tests/validation/NEON/Permute.cpp b/tests/validation/NEON/Permute.cpp
index 9429f25618..d897bbbe07 100644
--- a/tests/validation/NEON/Permute.cpp
+++ b/tests/validation/NEON/Permute.cpp
@@ -125,29 +125,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::Small4DShapes(), framework::dataset::make("DataType", { DataType::S8, DataType::U8, DataType::S16, DataType::U16, DataType::U32, DataType::S32, DataType::F16, DataType::F32 })),
- shape, data_type)
-{
- // Define permutation vector
- const PermutationVector perm(2U, 0U, 1U);
-
- // Permute shapes
- TensorShape output_shape = shape;
- permute(output_shape, perm);
-
- // Create tensors
- Tensor ref_src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(output_shape, data_type);
-
- // Create and Configure function
- NEPermute perm_func;
- perm_func.configure(&ref_src, &dst, perm);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(output_shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEPermuteFixture = PermuteValidationFixture<Tensor, Accessor, NEPermute, T>;
diff --git a/tests/validation/NEON/Phase.cpp b/tests/validation/NEON/Phase.cpp
index 37b04f4cef..f63309f09e 100644
--- a/tests/validation/NEON/Phase.cpp
+++ b/tests/validation/NEON/Phase.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -45,32 +45,6 @@ constexpr AbsoluteTolerance<uint8_t> tolerance_value(1);
TEST_SUITE(NEON)
TEST_SUITE(Phase)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::S16)), shape, data_type)
-{
- // Create tensors
- Tensor src1 = create_tensor<Tensor>(shape, data_type);
- Tensor src2 = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, DataType::U8);
-
- ARM_COMPUTE_EXPECT(src1.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(src2.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEPhase phase;
- phase.configure(&src1, &src2, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src1.info()->padding(), padding);
- validate(src2.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
-
template <typename T>
using NEPhaseFixture = PhaseValidationFixture<Tensor, Accessor, NEPhase, T>;
diff --git a/tests/validation/NEON/QuantizationLayer.cpp b/tests/validation/NEON/QuantizationLayer.cpp
index 0156be275a..04b3a78972 100644
--- a/tests/validation/NEON/QuantizationLayer.cpp
+++ b/tests/validation/NEON/QuantizationLayer.cpp
@@ -74,29 +74,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(QuantizationSmallShapes, framework::dataset::make("DataType", DataType::F32)), shape, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, DataType::QASYMM8);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEQuantizationLayer quant_layer;
- quant_layer.configure(&src, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- validate(src.info()->padding(), PaddingSize());
- validate(dst.info()->padding(), PaddingSize());
-}
-
template <typename T>
using NEQuantizationLayerQASYMM8Fixture = QuantizationValidationFixture<Tensor, Accessor, NEQuantizationLayer, T, uint8_t>;
template <typename T>
diff --git a/tests/validation/NEON/ReduceMean.cpp b/tests/validation/NEON/ReduceMean.cpp
index 1802b8a941..02cfcee262 100644
--- a/tests/validation/NEON/ReduceMean.cpp
+++ b/tests/validation/NEON/ReduceMean.cpp
@@ -48,10 +48,10 @@ constexpr AbsoluteTolerance<float> tolerance_f16(0.03f); /**< Tolerance value fo
#endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
constexpr AbsoluteTolerance<uint8_t> tolerance_u8(1); /**< Tolerance value for comparing reference's output against implementation's output for unsigned 8-bit asymmetric quantized type */
#ifdef __aarch64__
-constexpr AbsoluteTolerance<int8_t> tolerance_s8(1); /**< Tolerance value for comparing reference's output against implementation's output for signed 8-bit asymmetric quantized type */
-#else // __aarch64__
-constexpr AbsoluteTolerance<int8_t> tolerance_s8(2); /**< Tolerance value for comparing reference's output against implementation's output for signed 8-bit asymmetric quantized type */
-#endif // __aarch64__
+constexpr AbsoluteTolerance<int8_t> tolerance_s8(1); /**< Tolerance value for comparing reference's output against implementation's output for signed 8-bit asymmetric quantized type */
+#else // __aarch64__
+constexpr AbsoluteTolerance<int8_t> tolerance_s8(2); /**< Tolerance value for comparing reference's output against implementation's output for signed 8-bit asymmetric quantized type */
+#endif // __aarch64__
const auto axis_keep = combine(framework::dataset::make("Axis", { Coordinates(0), Coordinates(1, 0), Coordinates(1, 2), Coordinates(0, 2), Coordinates(1, 3), Coordinates(0, 1, 2, 3) }),
framework::dataset::make("KeepDims", { true }));
@@ -87,28 +87,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration,
- framework::DatasetMode::ALL,
- combine(datasets::SmallShapes(), framework::dataset::make("DataType", { DataType::F32 })),
- shape, data_type)
-{
- // Create tensors
- Tensor ref_src = create_tensor<Tensor>(shape, data_type);
- Tensor dst;
-
- Coordinates axis(1);
-
- // Create and Configure function
- NEReduceMean reduce_mean;
- reduce_mean.configure(&ref_src, axis, true, &dst);
-
- // Validate valid region
- TensorShape output_shape = shape;
- output_shape.set(1, 1);
- const ValidRegion valid_region = shape_to_valid_region(output_shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEReduceMeanFixture = ReduceMeanFixture<Tensor, Accessor, NEReduceMean, T>;
diff --git a/tests/validation/NEON/Remap.cpp b/tests/validation/NEON/Remap.cpp
index f8d7a250f9..1e69973238 100644
--- a/tests/validation/NEON/Remap.cpp
+++ b/tests/validation/NEON/Remap.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2018 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,40 +50,6 @@ constexpr float tolerance_number = 0.f;
TEST_SUITE(NEON)
TEST_SUITE(Remap)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(combine(concat(datasets::SmallShapes(), datasets::LargeShapes()), framework::dataset::make("InterpolationPolicy", { InterpolationPolicy::NEAREST_NEIGHBOR, InterpolationPolicy::BILINEAR })),
- framework::dataset::make("DataType", DataType::U8)),
- framework::dataset::make("BorderModes", { BorderMode::UNDEFINED, BorderMode::CONSTANT })),
- shape, policy, data_type, border_mode)
-{
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor map_x = create_tensor<Tensor>(shape, DataType::F32);
- Tensor map_y = create_tensor<Tensor>(shape, DataType::F32);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(map_x.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(map_y.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NERemap remap;
- remap.configure(&src, &map_x, &map_y, &dst, policy, border_mode);
-
- // Validate valid region
- const ValidRegion dst_valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- const int total_right = ceil_to_multiple(shape[0], 16);
- const int access_right = total_right + (((total_right - shape[0]) == 0) ? 1 : 0);
-
- const PaddingSize read_padding(1, access_right - shape[0], 1, 1);
- validate(src.info()->padding(), read_padding);
-
- PaddingCalculator calculator(shape.x(), 16);
- validate(dst.info()->padding(), calculator.required_padding());
-}
-
template <typename T>
using NERemapFixture = RemapValidationFixture<Tensor, Accessor, NERemap, T>;
diff --git a/tests/validation/NEON/ReorgLayer.cpp b/tests/validation/NEON/ReorgLayer.cpp
index e79a6717ba..cd8c10bd61 100644
--- a/tests/validation/NEON/ReorgLayer.cpp
+++ b/tests/validation/NEON/ReorgLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -69,44 +69,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(framework::dataset::concat(datasets::SmallReorgLayerDataset(), datasets::LargeReorgLayerDataset()),
- framework::dataset::make("DataType", { DataType::F32, DataType::F16, DataType::QASYMM8 })),
- framework::dataset::make("DataLayout", { DataLayout::NCHW, DataLayout::NHWC })),
- shape, stride, data_type, data_layout)
-{
- // Permute the tensor shape in case of NHWC data layout
- TensorShape shape_to_use = shape;
- if(data_layout == DataLayout::NHWC)
- {
- permute(shape_to_use, PermutationVector(2U, 0U, 1U));
- }
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape_to_use, data_type, 1, QuantizationInfo(), data_layout);
- Tensor dst;
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEReorgLayer reorg_layer;
-
- // Auto-initialize the output within the function
- reorg_layer.configure(&src, &dst, stride);
-
- // Validate valid region
- const ValidRegion src_valid_region = shape_to_valid_region(shape_to_use);
- const ValidRegion dst_valid_region = shape_to_valid_region(dst.info()->tensor_shape());
- validate(src.info()->valid_region(), src_valid_region);
- validate(dst.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- const int step = 1;
- const PaddingSize src_padding = PaddingCalculator(shape_to_use.x(), step).required_padding();
- const PaddingSize dst_padding = PaddingCalculator(dst.info()->tensor_shape().x(), step).required_padding();
- validate(src.info()->padding(), src_padding);
- validate(dst.info()->padding(), dst_padding);
-}
-
template <typename T>
using NEReorgLayerFixture = ReorgLayerValidationFixture<Tensor, Accessor, NEReorgLayer, T>;
diff --git a/tests/validation/NEON/Schaar.cpp b/tests/validation/NEON/Schaar.cpp
index 85a85cce0a..c093121fca 100644
--- a/tests/validation/NEON/Schaar.cpp
+++ b/tests/validation/NEON/Schaar.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -44,57 +44,6 @@ TEST_SUITE(Scharr)
TEST_SUITE(W3x3)
using NEScharr3x3Fixture = ScharrValidationFixture<Tensor, Accessor, NEScharr3x3, uint8_t, int16_t>;
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(concat(datasets::Small2DShapes(), datasets::Large2DShapes()), datasets::BorderModes()), framework::dataset::make("Format",
- Format::U8)),
- shape, border_mode, format)
-{
- // Generate a random constant value
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> int_dist(0, 255);
- const uint8_t constant_border_value = int_dist(gen);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- Tensor dst_x = create_tensor<Tensor>(shape, DataType::S16);
- Tensor dst_y = create_tensor<Tensor>(shape, DataType::S16);
-
- src.info()->set_format(format);
- dst_x.info()->set_format(Format::S16);
- dst_y.info()->set_format(Format::S16);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_x.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_y.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create scharr 3x3 configure function
- NEScharr3x3 scharr;
- scharr.configure(&src, &dst_x, &dst_y, border_mode, constant_border_value);
-
- // Validate valid region
- constexpr BorderSize border_size{ 1 };
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
-
- validate(dst_x.info()->valid_region(), dst_valid_region);
- validate(dst_y.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
-
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(1);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst_x.info()->padding(), dst_padding);
- validate(dst_y.info()->padding(), dst_padding);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall, NEScharr3x3Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
Format::U8)),
datasets::GradientDimensions()))
diff --git a/tests/validation/NEON/Select.cpp b/tests/validation/NEON/Select.cpp
index 4fe422bda0..199b520ac8 100644
--- a/tests/validation/NEON/Select.cpp
+++ b/tests/validation/NEON/Select.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -18,7 +18,7 @@
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONCLCTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#include "arm_compute/core/Types.h"
@@ -41,8 +41,6 @@ namespace validation
{
namespace
{
-auto configuration_dataset = combine(framework::dataset::concat(datasets::SmallShapes(), datasets::LargeShapes()),
- framework::dataset::make("has_same_rank", { false, true }));
auto run_small_dataset = combine(datasets::SmallShapes(), framework::dataset::make("has_same_rank", { false, true }));
auto run_large_dataset = combine(datasets::LargeShapes(), framework::dataset::make("has_same_rank", { false, true }));
} // namespace
@@ -100,26 +98,6 @@ TEST_SUITE(Float)
#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
TEST_SUITE(F16)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, configuration_dataset,
- shape, same_rank)
-{
- const DataType dt = DataType::F16;
-
- // Create tensors
- Tensor ref_c = create_tensor<Tensor>(detail::select_condition_shape(shape, same_rank), DataType::U8);
- Tensor ref_x = create_tensor<Tensor>(shape, dt);
- Tensor ref_y = create_tensor<Tensor>(shape, dt);
- Tensor dst = create_tensor<Tensor>(shape, dt);
-
- // Create and Configure function
- NESelect select;
- select.configure(&ref_c, &ref_x, &ref_y, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall,
NESelectFixture<half>,
framework::DatasetMode::PRECOMMIT,
@@ -141,26 +119,6 @@ TEST_SUITE_END() // F16
#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */
TEST_SUITE(FP32)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, configuration_dataset,
- shape, same_rank)
-{
- const DataType dt = DataType::F32;
-
- // Create tensors
- Tensor ref_c = create_tensor<Tensor>(detail::select_condition_shape(shape, same_rank), DataType::U8);
- Tensor ref_x = create_tensor<Tensor>(shape, dt);
- Tensor ref_y = create_tensor<Tensor>(shape, dt);
- Tensor dst = create_tensor<Tensor>(shape, dt);
-
- // Create and Configure function
- NESelect select;
- select.configure(&ref_c, &ref_x, &ref_y, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-}
-
FIXTURE_DATA_TEST_CASE(RunSmall,
NESelectFixture<float>,
framework::DatasetMode::PRECOMMIT,
diff --git a/tests/validation/NEON/Slice.cpp b/tests/validation/NEON/Slice.cpp
index 1b35bfa30c..54b0fbf9d2 100644
--- a/tests/validation/NEON/Slice.cpp
+++ b/tests/validation/NEON/Slice.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -63,24 +63,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration,
- framework::DatasetMode::ALL,
- combine(arm_compute::test::datasets::SmallSliceDataset(), framework::dataset::make("DataType", { DataType::QASYMM8, DataType::F32 })),
- shape, starts, ends, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst;
-
- // Create and Configure function
- NESlice slice;
- slice.configure(&src, &dst, starts, ends);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(dst.info()->tensor_shape());
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NESliceFixture = SliceFixture<Tensor, Accessor, NESlice, T>;
diff --git a/tests/validation/NEON/Sobel.cpp b/tests/validation/NEON/Sobel.cpp
index 2765057ae7..e090bcd6e2 100644
--- a/tests/validation/NEON/Sobel.cpp
+++ b/tests/validation/NEON/Sobel.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -49,57 +49,6 @@ TEST_SUITE(Sobel)
TEST_SUITE(W3x3)
using NESobel3x3Fixture = SobelValidationFixture<Tensor, Accessor, NESobel3x3, uint8_t, int16_t>;
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
- Format::U8)),
- shape, border_mode, format)
-{
- // Generate a random constant value
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> int_dist(0, 255);
- const uint8_t constant_border_value = int_dist(gen);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- Tensor dst_x = create_tensor<Tensor>(shape, DataType::S16);
- Tensor dst_y = create_tensor<Tensor>(shape, DataType::S16);
-
- src.info()->set_format(format);
- dst_x.info()->set_format(Format::S16);
- dst_y.info()->set_format(Format::S16);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_x.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_y.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create sobel 3x3 configure function
- NESobel3x3 sobel;
- sobel.configure(&src, &dst_x, &dst_y, border_mode, constant_border_value);
-
- // Validate valid region
- constexpr BorderSize border_size{ 1 };
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
-
- validate(dst_x.info()->valid_region(), dst_valid_region);
- validate(dst_y.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
-
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(1);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-1);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst_x.info()->padding(), dst_padding);
- validate(dst_y.info()->padding(), dst_padding);
-}
-
TEST_SUITE(X)
FIXTURE_DATA_TEST_CASE(RunSmall, NESobel3x3Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
Format::U8)),
@@ -168,56 +117,6 @@ TEST_SUITE_END()
TEST_SUITE(W5x5)
using NESobel5x5Fixture = SobelValidationFixture<Tensor, Accessor, NESobel5x5, uint8_t, int16_t>;
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
- Format::U8)),
- shape, border_mode, format)
-{
- // Generate a random constant value
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> int_dist(0, 255);
- const uint8_t constant_border_value = int_dist(gen);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- Tensor dst_x = create_tensor<Tensor>(shape, DataType::S16);
- Tensor dst_y = create_tensor<Tensor>(shape, DataType::S16);
-
- src.info()->set_format(format);
- dst_x.info()->set_format(Format::S16);
- dst_y.info()->set_format(Format::S16);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_x.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_y.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create sobel 5x5 configure function
- NESobel5x5 sobel;
- sobel.configure(&src, &dst_x, &dst_y, border_mode, constant_border_value);
-
- // Validate valid region
- constexpr BorderSize border_size{ 2 };
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
-
- validate(dst_x.info()->valid_region(), dst_valid_region);
- validate(dst_y.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 16);
-
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(2);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_processed_elements(8);
- calculator.set_access_offset(-2);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst_x.info()->padding(), dst_padding);
- validate(dst_y.info()->padding(), dst_padding);
-}
TEST_SUITE(X)
FIXTURE_DATA_TEST_CASE(RunSmall, NESobel5x5Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
Format::U8)),
@@ -285,57 +184,6 @@ TEST_SUITE_END()
TEST_SUITE(W7x7)
using NESobel7x7Fixture = SobelValidationFixture<Tensor, Accessor, NESobel7x7, uint8_t, int32_t>;
-
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
- Format::U8)),
- shape, border_mode, format)
-{
- // Generate a random constant value
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> int_dist(0, 255);
- const uint8_t constant_border_value = int_dist(gen);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type_from_format(format));
- Tensor dst_x = create_tensor<Tensor>(shape, DataType::S32);
- Tensor dst_y = create_tensor<Tensor>(shape, DataType::S32);
-
- src.info()->set_format(format);
- dst_x.info()->set_format(Format::S32);
- dst_y.info()->set_format(Format::S32);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_x.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst_y.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create sobel 7x7 configure function
- NESobel7x7 sobel;
- sobel.configure(&src, &dst_x, &dst_y, border_mode, constant_border_value);
-
- // Validate valid region
- constexpr BorderSize border_size{ 3 };
- const ValidRegion dst_valid_region = shape_to_valid_region(shape, border_mode == BorderMode::UNDEFINED, border_size);
-
- validate(dst_x.info()->valid_region(), dst_valid_region);
- validate(dst_y.info()->valid_region(), dst_valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 8);
-
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(3);
-
- const PaddingSize dst_padding = calculator.required_padding();
-
- calculator.set_accessed_elements(16);
- calculator.set_access_offset(-3);
-
- const PaddingSize src_padding = calculator.required_padding();
-
- validate(src.info()->padding(), src_padding);
- validate(dst_x.info()->padding(), dst_padding);
- validate(dst_y.info()->padding(), dst_padding);
-}
TEST_SUITE(X)
FIXTURE_DATA_TEST_CASE(RunSmall, NESobel7x7Fixture, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::Small2DShapes(), datasets::BorderModes()), framework::dataset::make("Format",
Format::U8)),
diff --git a/tests/validation/NEON/Split.cpp b/tests/validation/NEON/Split.cpp
index a80f9acc88..e7133fa530 100644
--- a/tests/validation/NEON/Split.cpp
+++ b/tests/validation/NEON/Split.cpp
@@ -91,66 +91,6 @@ DATA_TEST_CASE(ValidateSplitShapes, framework::DatasetMode::ALL, zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration,
- framework::DatasetMode::ALL,
- combine(datasets::SmallSplitDataset(), framework::dataset::make("DataType", { DataType::QASYMM8, DataType::F32 })),
- shape, axis, splits, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- std::vector<Tensor> dsts(splits);
- std::vector<ITensor *> dsts_ptrs;
- dsts_ptrs.reserve(splits);
- for(auto &dst : dsts)
- {
- dsts_ptrs.emplace_back(&dst);
- }
-
- // Create and Configure function
- NESplit split;
- split.configure(&src, dsts_ptrs, axis);
-
- // Validate valid regions
- for(auto &dst : dsts)
- {
- const ValidRegion valid_region = shape_to_valid_region(dst.info()->tensor_shape());
- validate(dst.info()->valid_region(), valid_region);
- }
-}
-
-DATA_TEST_CASE(ConfigurationSplitShapes,
- framework::DatasetMode::ALL,
- combine(datasets::SmallSplitShapesDataset(), framework::dataset::make("DataType", { DataType::F16, DataType::F32 })),
- shape, axis, split_shapes, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- std::vector<Tensor> dsts;
-
- for(const auto &split_shape : split_shapes)
- {
- Tensor dst = create_tensor<Tensor>(split_shape, data_type);
- dsts.push_back(std::move(dst));
- }
-
- std::vector<ITensor *> dsts_ptrs;
- for(auto &dst : dsts)
- {
- dsts_ptrs.emplace_back(&dst);
- }
-
- // Create and Configure function
- NESplit split;
- split.configure(&src, dsts_ptrs, axis);
-
- // Validate valid regions
- for(auto &dst : dsts)
- {
- const ValidRegion valid_region = shape_to_valid_region(dst.info()->tensor_shape());
- validate(dst.info()->valid_region(), valid_region);
- }
-}
-
template <typename T>
using NESplitFixture = SplitFixture<Tensor, ITensor, Accessor, NESplit, T>;
diff --git a/tests/validation/NEON/StackLayer.cpp b/tests/validation/NEON/StackLayer.cpp
index 9ba709a3d5..df0de81b4f 100644
--- a/tests/validation/NEON/StackLayer.cpp
+++ b/tests/validation/NEON/StackLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -77,35 +77,6 @@ const auto shapes_3d_large = combine(datasets::Medium3DShapes(), framework::data
/** Shapes 4D to test */
const auto shapes_4d_large = combine(datasets::Medium4DShapes(), framework::dataset::make("Axis", -4, 5));
-
-/** Configuration test */
-void validate_configuration(TensorShape shape_in, int axis, DataType data_type, int num_tensors)
-{
- // Wrap around negative values
- const unsigned int axis_u = wrap_around(axis, static_cast<int>(shape_in.num_dimensions() + 1));
-
- const TensorShape shape_dst = compute_stack_shape(TensorInfo(shape_in, 1, data_type), axis_u, num_tensors);
-
- std::vector<Tensor> tensors(num_tensors);
- std::vector<ITensor*> src(num_tensors);
-
- // Create vector of input tensors
- for(int i = 0; i < num_tensors; ++i)
- {
- tensors[i] = create_tensor<Tensor>(shape_in, data_type);
- src[i] = &(tensors[i]);
- ARM_COMPUTE_EXPECT(src[i]->info()->is_resizable(), framework::LogLevel::ERRORS);
- }
-
- // Create tensors
- Tensor dst = create_tensor<Tensor>(shape_dst, data_type);
-
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEStackLayer stack;
- stack.configure(src, axis, &dst);
-}
} // namespace
/** Fixture to use */
@@ -148,15 +119,6 @@ input_info, output_info, axis, expected)
}
TEST_SUITE(Shapes1D)
-
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(shapes_1d_small,
- data_types),
- n_values),
-shape_in, axis, data_type, num_tensors)
-{
- validate_configuration(shape_in, axis, data_type, num_tensors);
-}
-
TEST_SUITE(S32)
FIXTURE_DATA_TEST_CASE(RunSmall, NEStackLayerFixture<int>, framework::DatasetMode::ALL,
combine(combine(shapes_1d_small,
@@ -219,15 +181,6 @@ TEST_SUITE_END() // S8
TEST_SUITE_END() // Shapes1D
TEST_SUITE(Shapes2D)
-
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(shapes_2d_small,
- data_types),
- n_values),
-shape_in, axis, data_type, num_tensors)
-{
- validate_configuration(shape_in, axis, data_type, num_tensors);
-}
-
TEST_SUITE(S32)
FIXTURE_DATA_TEST_CASE(RunSmall, NEStackLayerFixture<int>, framework::DatasetMode::ALL,
combine(combine(shapes_2d_small,
@@ -290,14 +243,6 @@ TEST_SUITE_END() // S8
TEST_SUITE_END() // Shapes2D
TEST_SUITE(Shapes3D)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(shapes_3d_small,
- data_types),
- n_values),
-shape_in, axis, data_type, num_tensors)
-{
- validate_configuration(shape_in, axis, data_type, num_tensors);
-}
-
TEST_SUITE(S32)
FIXTURE_DATA_TEST_CASE(RunSmall, NEStackLayerFixture<int>, framework::DatasetMode::ALL,
combine(combine(shapes_3d_small,
@@ -360,14 +305,6 @@ TEST_SUITE_END() // S8
TEST_SUITE_END() // Shapes3D
TEST_SUITE(Shapes4D)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(shapes_4d_small,
- data_types),
- n_values),
-shape_in, axis, data_type, num_tensors)
-{
- validate_configuration(shape_in, axis, data_type, num_tensors);
-}
-
TEST_SUITE(S32)
FIXTURE_DATA_TEST_CASE(RunSmall, NEStackLayerFixture<int>, framework::DatasetMode::ALL,
combine(combine(shapes_4d_small,
diff --git a/tests/validation/NEON/StridedSlice.cpp b/tests/validation/NEON/StridedSlice.cpp
index 91d5a64f76..8332134b1b 100644
--- a/tests/validation/NEON/StridedSlice.cpp
+++ b/tests/validation/NEON/StridedSlice.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -65,24 +65,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(
// clang-format on
// *INDENT-ON*
-DATA_TEST_CASE(Configuration,
- framework::DatasetMode::ALL,
- combine(arm_compute::test::datasets::SmallStridedSliceDataset(), framework::dataset::make("DataType", { DataType::QASYMM8, DataType::F32 })),
- shape, starts, ends, strides, begin_mask, end_mask, shrink_mask, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst;
-
- // Create and Configure function
- NEStridedSlice strided_slice;
- strided_slice.configure(&src, &dst, starts, ends, strides, begin_mask, end_mask, shrink_mask);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(dst.info()->tensor_shape());
- validate(dst.info()->valid_region(), valid_region);
-}
-
template <typename T>
using NEStridedSliceFixture = StridedSliceFixture<Tensor, Accessor, NEStridedSlice, T>;
diff --git a/tests/validation/NEON/TableLookup.cpp b/tests/validation/NEON/TableLookup.cpp
index 647c486f7a..cbd16c99f3 100644
--- a/tests/validation/NEON/TableLookup.cpp
+++ b/tests/validation/NEON/TableLookup.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,42 +50,7 @@ TEST_SUITE(TableLookup)
template <typename T>
using NETableLookupFixture = TableLookupValidationFixture<Tensor, Accessor, NETableLookup, LutAccessor<T>, Lut, T>;
TEST_SUITE(U8)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(datasets::SmallShapes(), framework::dataset::make("DataType", { DataType::U8, DataType::S16 })),
- shape, data_type)
-{
- // Create Lut
- const int num_elem = (data_type == DataType::U8) ? std::numeric_limits<uint8_t>::max() + 1 : std::numeric_limits<int16_t>::max() - std::numeric_limits<int16_t>::lowest() + 1;
- Lut lut(num_elem, data_type);
-
- switch(data_type)
- {
- case DataType::U8:
- fill_lookuptable(LutAccessor<uint8_t>(lut));
- break;
- case DataType::S16:
- fill_lookuptable(LutAccessor<int16_t>(lut));
- break;
- default:
- ARM_COMPUTE_ERROR("Not supported");
- }
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
- // Create and Configure function
- NETableLookup table_lookup;
- table_lookup.configure(&src, &lut, &dst);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- const PaddingSize padding = PaddingCalculator(shape.x(), 16).required_padding();
- validate(src.info()->padding(), padding);
- validate(dst.info()->padding(), padding);
-}
FIXTURE_DATA_TEST_CASE(RunSmallU8, NETableLookupFixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)))
{
// Validate output
diff --git a/tests/validation/NEON/Threshold.cpp b/tests/validation/NEON/Threshold.cpp
index 917a8a2b90..97e98d7224 100644
--- a/tests/validation/NEON/Threshold.cpp
+++ b/tests/validation/NEON/Threshold.cpp
@@ -40,30 +40,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(Threshold)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(datasets::SmallShapes(), datasets::MixedThresholdDataset()),
- framework::dataset::make("DataType", DataType::U8)),
- shape, threshold, false_value, true_value, type, upper, data_type)
-{
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEThreshold thrsh;
- thrsh.configure(&src, &dst, ThresholdKernelInfo(threshold, false_value, true_value, type, upper));
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- validate(src.info()->padding(), PaddingSize());
- validate(dst.info()->padding(), PaddingSize());
-}
-
template <typename T>
using ThresholdFixture = ThresholdValidationFixture<Tensor, Accessor, NEThreshold, T>;
diff --git a/tests/validation/NEON/Upsample.cpp b/tests/validation/NEON/Upsample.cpp
index 221f6904d4..799e513fb1 100644
--- a/tests/validation/NEON/Upsample.cpp
+++ b/tests/validation/NEON/Upsample.cpp
@@ -41,31 +41,6 @@ namespace validation
TEST_SUITE(NEON)
TEST_SUITE(UpsampleLayer)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, (combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::F32))),
- input_shape, data_type)
-{
- InterpolationPolicy policy = InterpolationPolicy::NEAREST_NEIGHBOR;
- Size2D info = Size2D(2, 2);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(input_shape, data_type, 1);
- Tensor dst;
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEUpsampleLayer upsample;
- upsample.configure(&src, &dst, info, policy);
-
- // Validate valid region
- const ValidRegion src_valid_region = shape_to_valid_region(src.info()->tensor_shape());
- const ValidRegion dst_valid_region = shape_to_valid_region(dst.info()->tensor_shape());
-
- validate(src.info()->valid_region(), src_valid_region);
- validate(dst.info()->valid_region(), dst_valid_region);
-}
-
// *INDENT-OFF*
// clang-format off
DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(
diff --git a/tests/validation/NEON/WarpAffine.cpp b/tests/validation/NEON/WarpAffine.cpp
index ce5360b2cf..92dfe23736 100644
--- a/tests/validation/NEON/WarpAffine.cpp
+++ b/tests/validation/NEON/WarpAffine.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -53,48 +53,6 @@ constexpr AbsoluteTolerance<uint8_t> tolerance(1);
TEST_SUITE(NEON)
TEST_SUITE(WarpAffine)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- framework::dataset::make("InterpolationPolicy", { InterpolationPolicy::NEAREST_NEIGHBOR, InterpolationPolicy::BILINEAR })),
- datasets::BorderModes()),
- shape, data_type, policy, border_mode)
-{
- // Generate a random constant value if border_mode is constant
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> distribution_u8(0, 255);
- uint8_t constant_border_value = distribution_u8(gen);
-
- // Create the matrix
- std::array<float, 9> matrix{ {} };
- fill_warp_matrix<9>(matrix);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEWarpAffine warp_affine;
- warp_affine.configure(&src, &dst, matrix, policy, border_mode, constant_border_value);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
-
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 1);
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(1);
-
- const PaddingSize read_padding(1);
- const PaddingSize write_padding = calculator.required_padding();
-
- validate(src.info()->padding(), read_padding);
- validate(dst.info()->padding(), write_padding);
-}
-
template <typename T>
using NEWarpAffineFixture = WarpAffineValidationFixture<Tensor, Accessor, NEWarpAffine, T>;
diff --git a/tests/validation/NEON/WarpPerspective.cpp b/tests/validation/NEON/WarpPerspective.cpp
index d146bda705..1c56220a21 100644
--- a/tests/validation/NEON/WarpPerspective.cpp
+++ b/tests/validation/NEON/WarpPerspective.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -50,54 +50,6 @@ constexpr float tolerance_number = 0.2f;
TEST_SUITE(NEON)
TEST_SUITE(WarpPerspective)
-DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, combine(combine(combine(datasets::SmallShapes(), framework::dataset::make("DataType", DataType::U8)),
- framework::dataset::make("InterpolationPolicy", { InterpolationPolicy::NEAREST_NEIGHBOR, InterpolationPolicy::BILINEAR })),
- datasets::BorderModes()),
- shape, data_type, policy, border_mode)
-{
- uint8_t constant_border_value = 0;
-
- // Generate a random constant value if border_mode is constant
- if(border_mode == BorderMode::CONSTANT)
- {
- std::mt19937 gen(library->seed());
- std::uniform_int_distribution<uint8_t> distribution_u8(0, 255);
- constant_border_value = distribution_u8(gen);
- }
-
- // Create the matrix
- std::array<float, 9> matrix = { { 0 } };
- fill_warp_matrix<9>(matrix);
-
- // Create tensors
- Tensor src = create_tensor<Tensor>(shape, data_type);
- Tensor dst = create_tensor<Tensor>(shape, data_type);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Create and configure function
- NEWarpPerspective warp_perspective;
- warp_perspective.configure(&src, &dst, matrix, policy, border_mode, constant_border_value);
-
- // Validate valid region
- const ValidRegion valid_region = shape_to_valid_region(shape);
-
- validate(src.info()->valid_region(), valid_region);
- validate(dst.info()->valid_region(), valid_region);
-
- // Validate padding
- PaddingCalculator calculator(shape.x(), 1);
- calculator.set_border_mode(border_mode);
- calculator.set_border_size(1);
-
- const PaddingSize read_padding(1);
- const PaddingSize write_padding = calculator.required_padding();
-
- validate(src.info()->padding(), read_padding);
- validate(dst.info()->padding(), write_padding);
-}
-
template <typename T>
using NEWarpPerspectiveFixture = WarpPerspectiveValidationFixture<Tensor, Accessor, NEWarpPerspective, T>;