From ed35a6fea4a1604db81c56fc71f7756822fcf212 Mon Sep 17 00:00:00 2001 From: Richard Burton Date: Mon, 14 Feb 2022 11:55:35 +0000 Subject: MLECO-2874: Move NMS out of the OD use_case * Add ImageUtils * Move image related code from UseCaseCommonUtils to ImageUtils * Move NMS related code to ImageUtils * Delete test specific ImageUtils and use new ImageUtils Signed-off-by: Richard Burton Change-Id: Icbf5dd9c6a941b0126ecdf69a0c9d9969f22729f --- source/math/PlatformMath.cc | 7 ++++++- source/math/include/PlatformMath.hpp | 14 ++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) (limited to 'source/math') diff --git a/source/math/PlatformMath.cc b/source/math/PlatformMath.cc index cc603f3..b666d29 100644 --- a/source/math/PlatformMath.cc +++ b/source/math/PlatformMath.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright (c) 2021-2022 Arm Limited. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -303,6 +303,11 @@ namespace math { } } + float MathUtils::SigmoidF32(float x) + { + return 1.f/(1.f + std::exp(-x)); + } + } /* namespace math */ } /* namespace app */ } /* namespace arm */ diff --git a/source/math/include/PlatformMath.hpp b/source/math/include/PlatformMath.hpp index 5ac10de..2bf7733 100644 --- a/source/math/include/PlatformMath.hpp +++ b/source/math/include/PlatformMath.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Arm Limited. All rights reserved. + * Copyright (c) 2021-2022 Arm Limited. All rights reserved. * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,7 +19,6 @@ /* See if ARM DSP functions can be used. */ #if defined(ARM_MATH_DSP) - #include "arm_math.h" #define M_PI (PI) #else @@ -127,8 +126,8 @@ namespace math { * @param[out] output Pre-allocated buffer to be populated with * natural log values of each input element. */ - static void VecLogarithmF32(std::vector & input, - std::vector & output); + static void VecLogarithmF32(std::vector& input, + std::vector& output); /** * @brief Computes the dot product of two 1D floating point @@ -165,6 +164,13 @@ namespace math { * @param[in] vector Vector of floats modified in-place */ static void SoftmaxF32(std::vector& vec); + + /** + * @brief Calculate the Sigmoid function of the given value. + * @param[in] x Value to apply Sigmoid to. + * @return Sigmoid value of the input. + */ + static float SigmoidF32(float x); }; } /* namespace math */ -- cgit v1.2.1