blob: b95c2e22a879ed59805a387a423df3d13a8bd70d [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa014fcda012018-03-09 14:13:49 +00004//
5
6#include "RefActivationUint8Workload.hpp"
7
8#include "Activation.hpp"
9#include "RefWorkloadUtils.hpp"
10
11#include "Profiling.hpp"
12
13#include <vector>
14
15namespace armnn
16{
17
18void RefActivationUint8Workload::Execute() const
19{
20 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefActivationUint8Workload_Execute");
21
22 const TensorInfo& tensorInfo = GetTensorInfo(m_Data.m_Inputs[0]);
23
24 auto dequant = Dequantize(GetInputTensorDataU8(0, m_Data), tensorInfo);
25
26 std::vector<float> results(tensorInfo.GetNumElements());
27
28 Activation(dequant.data(),
29 results.data(),
30 tensorInfo,
31 m_Data.m_Parameters.m_Function,
32 m_Data.m_Parameters.m_A,
33 m_Data.m_Parameters.m_B);
34
35 Quantize(GetOutputTensorDataU8(0, m_Data), results.data(), GetTensorInfo(m_Data.m_Outputs[0]));
36}
37
38} //namespace armnn