aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGian Marco Iodice <gianmarco.iodice@arm.com>2019-06-13 15:58:32 +0100
committerGeorgios Pinitas <georgios.pinitas@arm.com>2019-07-05 11:41:58 +0000
commit95f9361416a0db7fee2e35bd0f7afbecbb7352c2 (patch)
tree2e41341d19dac1108069acf79c7c364bec9b7e16 /tests
parent53860dd80fd6e91ce04756032a969d4b37e00a61 (diff)
downloadComputeLibrary-95f9361416a0db7fee2e35bd0f7afbecbb7352c2.tar.gz
COMPMID-2185: Implement direct convolution 9x9 (NHWC) on NEON
Change-Id: I3f47947bdbc80946668165c8fc2ce52eca7722a6 Signed-off-by: giuros01 <giuseppe.rossini@arm.com> Reviewed-on: https://review.mlplatform.org/c/1409 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/validation/NEON/DirectConvolutionLayer.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/validation/NEON/DirectConvolutionLayer.cpp b/tests/validation/NEON/DirectConvolutionLayer.cpp
index 05c430a1c7..439f81af73 100644
--- a/tests/validation/NEON/DirectConvolutionLayer.cpp
+++ b/tests/validation/NEON/DirectConvolutionLayer.cpp
@@ -85,14 +85,25 @@ const auto data = combine(datasets::SmallDirectConvolutionShapes(),
combine(framework::dataset::make("PadY", { 1 }),
framework::dataset::make("KernelSize", 3))))));
+const auto data9x9 = combine(datasets::SmallDirectConvolutionShapes(),
+ combine(framework::dataset::make("StrideX", { 1 }),
+ combine(framework::dataset::make("StrideY", { 1 }),
+ combine(framework::dataset::make("PadX", { 0, 2 }),
+ combine(framework::dataset::make("PadY", { 0, 3 }),
+ framework::dataset::make("KernelSize", 9))))));
+
const auto data_f32_nightly = combine(data_f32, framework::dataset::make("NumKernels", { 1, 4 }));
const auto data_f16_nightly = combine(data_f16, framework::dataset::make("NumKernels", { 1, 4 }));
-const auto data_precommit = combine(data, framework::dataset::make("NumKernels", { 1 }));
+const auto data_precommit = combine(data, framework::dataset::make("NumKernels", { 1 }));
+const auto data_precommit9x9 = combine(data9x9, framework::dataset::make("NumKernels", { 4 }));
/** Activation function Dataset*/
const auto ActivationFunctionsDataset = framework::dataset::make("ActivationInfo",
-{ ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU, 0.5f) });
+{
+ ActivationLayerInfo(),
+ ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::LU_BOUNDED_RELU, 0.5f)
+});
} // namespace
TEST_SUITE(NEON)
@@ -200,6 +211,14 @@ FIXTURE_DATA_TEST_CASE(RunSmall, NEDirectConvolutionLayerFixture<float>, framewo
// Validate output
validate(Accessor(_target), _reference, tolerance_fp32);
}
+FIXTURE_DATA_TEST_CASE(RunSmall9x9, NEDirectConvolutionLayerFixture<float>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(data_precommit9x9, framework::dataset::make("DataType",
+ DataType::F32)),
+ ActivationFunctionsDataset),
+ framework::dataset::make("DataLayout", { DataLayout::NHWC })))
+{
+ // Validate output
+ validate(Accessor(_target), _reference, tolerance_fp32);
+}
FIXTURE_DATA_TEST_CASE(RunLarge, NEDirectConvolutionLayerFixture<float>, framework::DatasetMode::NIGHTLY, combine(combine(combine(data_f32_nightly, framework::dataset::make("DataType",
DataType::F32)),
ActivationFunctionsDataset),