aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authormorgolock <pablo.tello@arm.com>2020-02-27 11:46:28 +0000
committerPablo Marquez <pablo.tello@arm.com>2020-02-28 11:29:30 +0000
commit07df3d4b85f42245abf97e1a889e1fb3ef8af359 (patch)
tree243f111c776d2e19fbdd555ccef28e5369705b41 /tests
parentcd5b4a30d4208f9eadce7e9942526e000f72ee97 (diff)
downloadComputeLibrary-07df3d4b85f42245abf97e1a889e1fb3ef8af359.tar.gz
COMPMID-3079: Implement Hard-Swish in NEON.
Change-Id: I019e36f65b4d821009bada9c6cdebc096d893b54 Signed-off-by: morgolock <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2802 Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/validation/NEON/ActivationLayer.cpp6
-rw-r--r--tests/validation/reference/ActivationLayer.h5
2 files changed, 8 insertions, 3 deletions
diff --git a/tests/validation/NEON/ActivationLayer.cpp b/tests/validation/NEON/ActivationLayer.cpp
index 1b9278988a..e3082cb5dc 100644
--- a/tests/validation/NEON/ActivationLayer.cpp
+++ b/tests/validation/NEON/ActivationLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 ARM Limited.
+ * Copyright (c) 2017-2020 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -117,8 +117,10 @@ const auto CNNDataTypes = framework::dataset::make("DataType",
DataType::F32,
});
+const auto NeonActivationFunctionsDataset = concat(datasets::ActivationFunctions(), framework::dataset::make("ActivationFunction", ActivationLayerInfo::ActivationFunction::HARD_SWISH) );
+
/** Input data sets. */
-const auto ActivationDataset = combine(combine(framework::dataset::make("InPlace", { false, true }), datasets::ActivationFunctions()), framework::dataset::make("AlphaBeta", { 0.5f, 1.f }));
+const auto ActivationDataset = combine(combine(framework::dataset::make("InPlace", { false, true }), NeonActivationFunctionsDataset), framework::dataset::make("AlphaBeta", { 0.5f, 1.f }));
} // namespace
TEST_SUITE(NEON)
diff --git a/tests/validation/reference/ActivationLayer.h b/tests/validation/reference/ActivationLayer.h
index cd861d7715..f41e87123e 100644
--- a/tests/validation/reference/ActivationLayer.h
+++ b/tests/validation/reference/ActivationLayer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 ARM Limited.
+ * Copyright (c) 2017-2020 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -81,6 +81,9 @@ inline T activate_float(T x, T a, T b, ActivationLayerInfo::ActivationFunction a
case ActivationLayerInfo::ActivationFunction::IDENTITY:
ret = x;
break;
+ case ActivationLayerInfo::ActivationFunction::HARD_SWISH:
+ ret = x * ((std::min(std::max((x + 3), 0.0f), 6.0f)) * 0.166666667f);
+ break;
default:
ARM_COMPUTE_ERROR("Unsupported activation function");
break;