ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
onert::backend::cpu::ops::L2NormLayer Class Reference

#include <L2NormLayer.h>

Collaboration diagram for onert::backend::cpu::ops::L2NormLayer:

Public Member Functions

 L2NormLayer ()
 
void configure (const IPortableTensor *_input, IPortableTensor *output)
 
void run () override
 
- Public Member Functions inherited from onert::exec::IFunction
virtual ~IFunction ()=default
 
virtual void prepare ()
 

Detailed Description

Definition at line 26 of file L2NormLayer.h.

Constructor & Destructor Documentation

◆ L2NormLayer()

onert::backend::cpu::ops::L2NormLayer::L2NormLayer ( )
inline

Definition at line 29 of file L2NormLayer.h.

29 : _input(nullptr), _output(nullptr)
30 {
31 // Nothing
32 }

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::L2NormLayer::configure ( const IPortableTensor _input,
IPortableTensor output 
)

Definition at line 27 of file L2NormLayer.cc.

28{
29 assert(input != nullptr);
30 assert(output != nullptr);
31
32 _input = input;
33 _output = output;
34}

◆ run()

void onert::backend::cpu::ops::L2NormLayer::run ( )
overridevirtual

Implements onert::exec::IFunction.

Definition at line 36 of file L2NormLayer.cc.

37{
38 switch (_input->data_type())
39 {
40 case OperandType::FLOAT32:
41 nnfw::cker::L2NormalizeFloat32(getShape(_input), getBuffer<float>(_input), getShape(_output),
42 getBuffer<float>(_output));
43 break;
44
45 case OperandType::QUANT_UINT8_ASYMM:
46 {
48 assert(_input->data_zero_point() == 128);
49 params.input_zero_point = _input->data_zero_point();
50 nnfw::cker::L2NormalizeQuant8(params, getShape(_input), getBuffer<uint8_t>(_input),
51 getShape(_output), getBuffer<uint8_t>(_output));
52 }
53 break;
54
55 default:
56 throw std::runtime_error{"L2Norm: Unsupported data type"};
57 }
58}
int32_t data_zero_point() const override final
ir::DataType data_type() const override final
void L2NormalizeFloat32(const Shape &input_shape, const float *input_data, const Shape &output_shape, float *output_data)
Definition L2Normalize.h:30
void L2NormalizeQuant8(L2NormParams &params, const Shape &input_shape, const uint8_t *input_data, const Shape &output_shape, uint8_t *output_data)
Definition L2Normalize.h:56
nnfw::cker::Shape getShape(const IPortableTensor *tensor)

References onert::backend::IPortableTensor::data_type(), onert::backend::IPortableTensor::data_zero_point(), onert::backend::cpu::ops::getShape(), nnfw::cker::L2NormParams::input_zero_point, nnfw::cker::L2NormalizeFloat32(), and nnfw::cker::L2NormalizeQuant8().


The documentation for this class was generated from the following files: