blob: e4e108edb15d2f7b35f4d7b73c97952a8edeee16 [file] [log] [blame]
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "BatchToSpaceNd.hpp"
7#include "Profiling.hpp"
8#include "RefBatchToSpaceNdUint8Workload.hpp"
9#include "RefWorkloadUtils.hpp"
10
11namespace armnn
12{
13
14void RefBatchToSpaceNdUint8Workload::Execute() const
15{
16 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefBatchToSpaceNdUint8Workload_Execute");
17
18 const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]);
19 const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]);
20 auto dequantizedInputData = Dequantize(GetInputTensorDataU8(0, m_Data), inputInfo);
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +000021
22 std::vector<float> results(outputInfo.GetNumElements());
23 BatchToSpaceNd(m_Data.m_Parameters.m_DataLayout, inputInfo, outputInfo, m_Data.m_Parameters.m_BlockShape,
Éanna Ó Catháin262553e2018-11-14 11:26:23 +000024 m_Data.m_Parameters.m_Crops, dequantizedInputData.data(), results.data());
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +000025
26 Quantize(GetOutputTensorDataU8(0, m_Data), results.data(), outputInfo);
27}
28
29} //namespace armnn