ArmNN
 20.02
NeonDequantizeWorkload.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 
8 #include "NeonWorkloadUtils.hpp"
9 
10 #include <arm_compute/runtime/NEON/functions/NEDequantizationLayer.h>
11 
15 
16 namespace armnn
17 {
18 
19 using namespace armcomputetensorutils;
20 
22  const TensorInfo& output)
23 {
24  const arm_compute::TensorInfo aclInput = BuildArmComputeTensorInfo(input);
25  const arm_compute::TensorInfo aclOutput = BuildArmComputeTensorInfo(output);
26 
27  return arm_compute::NEDequantizationLayer::validate(&aclInput, &aclOutput);
28 }
29 
31  : BaseWorkload<DequantizeQueueDescriptor>(descriptor, info)
32 {
33  m_Data.ValidateInputsOutputs("NeonDequantizeWorkload", 1, 1);
34 
35  arm_compute::ITensor& input = boost::polymorphic_downcast<IAclTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
36  arm_compute::ITensor& output = boost::polymorphic_downcast<IAclTensorHandle*>(m_Data.m_Outputs[0])->GetTensor();
37 
38  std::unique_ptr<arm_compute::NEDequantizationLayer> layer(new arm_compute::NEDequantizationLayer());
39  layer->configure(&input, &output);
40  layer->prepare();
41  m_Layer.reset(layer.release());
42 }
43 
45 {
46  ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonDequantizeWorkload_Execute");
47  m_Layer->run();
48 }
49 
50 } //namespace armnn
51 
const DequantizeQueueDescriptor m_Data
Definition: Workload.hpp:46
#define ARMNN_SCOPED_PROFILING_EVENT_NEON(name)
void ValidateInputsOutputs(const std::string &descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const
Copyright (c) 2020 ARM Limited.
Status
enumeration
Definition: Types.hpp:26
arm_compute::Status NeonDequantizeWorkloadValidate(const TensorInfo &input, const TensorInfo &output)
NeonDequantizeWorkload(const DequantizeQueueDescriptor &descriptor, const WorkloadInfo &info)
std::vector< ITensorHandle * > m_Outputs
Contains information about inputs and outputs to a layer.
std::vector< ITensorHandle * > m_Inputs