From a61bfd87c71ef6fc559729181726ed761ec50ee3 Mon Sep 17 00:00:00 2001 From: chenjianping Date: Thu, 27 Aug 2020 19:23:25 +0800 Subject: [PATCH] optimize tanh --- mindspore/lite/nnacl/fp32/activation.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mindspore/lite/nnacl/fp32/activation.c b/mindspore/lite/nnacl/fp32/activation.c index dbd61a7260..3cb34cd9ae 100644 --- a/mindspore/lite/nnacl/fp32/activation.c +++ b/mindspore/lite/nnacl/fp32/activation.c @@ -62,7 +62,14 @@ int Sigmoid(const float *src, int length, float *dst) { int Tanh(const float *src, int length, float *dst) { for (int i = 0; i < length; ++i) { - dst[i] = 1.0f - 2.0f / (exp(2 * src[i]) + 1); + float tmp_in = src[i]; + if (tmp_in > 5.0) { + dst[i] = 1.0f; + } else if (tmp_in < -5.0) { + dst[i] = -1.0f; + } else { + dst[i] = 1.0f - 2.0f / (exp(2 * tmp_in) + 1); + } } return NNACL_OK; }