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

#include <ReverseLayer.h>

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

Public Member Functions

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

Detailed Description

Definition at line 27 of file ReverseLayer.h.

Constructor & Destructor Documentation

◆ ReverseLayer()

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

Definition at line 30 of file ReverseLayer.h.

30 : _input{nullptr}, _axis{nullptr}, _output{nullptr}
31 {
32 // DO NOTHING
33 }

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::ReverseLayer::configure ( const IPortableTensor input,
const IPortableTensor axis,
IPortableTensor output 
)

Definition at line 50 of file ReverseLayer.cc.

52{
53 _input = input;
54 _axis = axis;
55 _output = output;
56}

◆ run()

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

Implements onert::exec::IFunction.

Definition at line 26 of file ReverseLayer.cc.

27{
28
29 if (_axis->total_size() != 4)
30 {
31 throw std::runtime_error{"Reverse: only support 1 axis"};
32 }
33 int32_t axis = *getBuffer<int32_t>(_axis);
34 if (axis < 0)
35 {
36 axis += _input->getShape().rank();
37 }
38
39 switch (_input->data_type())
40 {
41 case OperandType::FLOAT32:
42 nnfw::cker::Reverse<float>(axis, getShape(_input), getBuffer<float>(_input),
43 getShape(_output), getBuffer<float>(_output));
44 break;
45 default:
46 throw std::runtime_error{"Reverse: unsupported data type"};
47 }
48}
size_t total_size() const override final
ir::DataType data_type() const override final
ir::Shape getShape() const override final
Get ir::Shape of tensor.
nnfw::cker::Shape getShape(const IPortableTensor *tensor)

References onert::backend::IPortableTensor::data_type(), onert::backend::IPortableTensor::getShape(), onert::backend::cpu::ops::getShape(), and onert::backend::IPortableTensor::total_size().


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