diff options
author | Sang-Hoon Park <sang-hoon.park@arm.com> | 2020-07-07 09:36:09 +0100 |
---|---|---|
committer | Sang-Hoon Park <sang-hoon.park@arm.com> | 2020-07-08 10:00:17 +0000 |
commit | a0205b987509d239b1635024fe8f334a4534f56e (patch) | |
tree | b1751b74d14073d2c711de486d3f0efb1a4d2c6c /src/core/NEON | |
parent | f9b595adbdc3f6f51ffa2c1f2aa70d0262d0db2d (diff) | |
download | ComputeLibrary-a0205b987509d239b1635024fe8f334a4534f56e.tar.gz |
COMPMID-3574: add logarithm to LogSoftmaxLayer
Missed logarithm for the summation is added to NEON, CL and reference
backends. To avoid complex changes, log softmax layer on CL backend
doesn't support quantized data types. Tests and doxygen comments
are modified accordingly.
Change-Id: Iafd29291be8b81345cb4999b2668dbc3ae0c3345
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3517
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON')
-rw-r--r-- | src/core/NEON/kernels/NESoftmaxLayerKernel.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp b/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp index 41bf03ad1d..35e5973aff 100644 --- a/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp +++ b/src/core/NEON/kernels/NESoftmaxLayerKernel.cpp @@ -368,6 +368,10 @@ void logits_1d_softmax_qasymm8(const ITensor &in, const ITensor &max, void *cons { sum_inversed = 256.f / sum; } + else + { + sum = std::log(sum); + } } /* Normalize exponentials */ @@ -516,6 +520,10 @@ void logits_1d_softmax_float(const ITensor &in, const ITensor &max, void *const { sum_inversed = T(1) / sum; } + else + { + sum = static_cast<T>(std::log(sum)); + } } /* Normalize exponentials */ |