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

#include <RmsNormLayer.h>

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

Public Member Functions

 RmsNormLayer ()
 
void configure (const IPortableTensor *input, const IPortableTensor *gamma, float epsilon, 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 RmsNormLayer.h.

Constructor & Destructor Documentation

◆ RmsNormLayer()

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

Definition at line 29 of file RmsNormLayer.h.

29 : _input(nullptr), _output(nullptr), _gamma(nullptr), _epsilon(1e-06f)
30 {
31 // Nothing
32 }

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::RmsNormLayer::configure ( const IPortableTensor input,
const IPortableTensor gamma,
float  epsilon,
IPortableTensor output 
)

Definition at line 27 of file RmsNormLayer.cc.

29{
30 assert(input != nullptr);
31 assert(output != nullptr);
32
33 _input = input;
34 _output = output;
35 _gamma = gamma;
36 _epsilon = epsilon;
37}

◆ run()

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

Implements onert::exec::IFunction.

Definition at line 39 of file RmsNormLayer.cc.

40{
41 switch (_input->data_type())
42 {
43 case OperandType::FLOAT32:
45 param.epsilon = _epsilon;
46 nnfw::cker::RmsNorm(param, getShape(_input), getBuffer<float>(_input), getShape(_gamma),
47 getBuffer<float>(_gamma), getShape(_output), getBuffer<float>(_output));
48 break;
49
50 default:
51 throw std::runtime_error{"RmsNorm: Unsupported data type"};
52 }
53}
ir::DataType data_type() const override final
void RmsNorm(const RmsNormParams &params, const Shape &input_shape, const float *input_data, const Shape &gamma_shape, const float *gamma_data, const Shape &output_shape, float *output_data)
Definition RmsNorm.h:32
nnfw::cker::Shape getShape(const IPortableTensor *tensor)

References onert::backend::IPortableTensor::data_type(), nnfw::cker::RmsNormParams::epsilon, onert::backend::cpu::ops::getShape(), and nnfw::cker::RmsNorm().


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