ONE - On-device Neural Engine
Loading...
Searching...
No Matches
onert::backend::cpu::ops::StridedSliceLayer Class Reference

#include <StridedSliceLayer.h>

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

Public Member Functions

 StridedSliceLayer ()
 
void configure (const IPortableTensor *input, const IPortableTensor *begin, const IPortableTensor *end, const IPortableTensor *strides, IPortableTensor *output, const int32_t begin_mask, const int32_t end_mask, const int32_t shrink_axis_mask)
 
void run () override
 
- Public Member Functions inherited from onert::exec::IFunction
virtual ~IFunction ()=default
 
virtual void prepare ()
 

Detailed Description

Definition at line 28 of file StridedSliceLayer.h.

Constructor & Destructor Documentation

◆ StridedSliceLayer()

onert::backend::cpu::ops::StridedSliceLayer::StridedSliceLayer ( )

Definition at line 61 of file StridedSliceLayer.cc.

62 : _input(nullptr), _begin(nullptr), _end(nullptr), _strides(nullptr), _output(nullptr),
63 _begin_mask(0), _ellipsis_mask(0), _end_mask(0), _new_axis_mask(0), _shrink_axis_mask(0)
64{
65}

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::StridedSliceLayer::configure ( const IPortableTensor input,
const IPortableTensor begin,
const IPortableTensor end,
const IPortableTensor strides,
IPortableTensor output,
const int32_t  begin_mask,
const int32_t  end_mask,
const int32_t  shrink_axis_mask 
)

Definition at line 81 of file StridedSliceLayer.cc.

85{
86 _input = input;
87 _begin = begin;
88 _end = end;
89 _strides = strides;
90 _output = output;
91
92 _begin_mask = begin_mask;
93 _ellipsis_mask = 0;
94 _end_mask = end_mask;
95 _new_axis_mask = 0;
96 _shrink_axis_mask = shrink_axis_mask;
97}
ShapeIterator end(const Shape &s)
int32_t begin[5]
Definition Slice.cpp:33

References begin.

◆ run()

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

Implements onert::exec::IFunction.

Definition at line 99 of file StridedSliceLayer.cc.

100{
101 if (_input->data_type() == OperandType::FLOAT32)
102 {
103 stridedSliceImpl<float>();
104 }
105 else if (_input->data_type() == OperandType::INT32)
106 {
107 stridedSliceImpl<int32_t>();
108 }
109 else if (_input->data_type() == OperandType::INT64)
110 {
111 stridedSliceImpl<int64_t>();
112 }
113 else if (_input->data_type() == OperandType::QUANT_INT16_SYMM)
114 {
115 stridedSliceImpl<int16_t>();
116 }
117 else
118 {
119 throw std::runtime_error{"StridedSlice: unsupported data type"};
120 }
121}
ir::DataType data_type() const override final

References onert::backend::IPortableTensor::data_type().


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