ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 26 of file StridedSliceLayer.cc.

27 : _input(nullptr), _begin(nullptr), _end(nullptr), _strides(nullptr), _output(nullptr),
28 _begin_mask(0), _ellipsis_mask(0), _end_mask(0), _new_axis_mask(0), _shrink_axis_mask(0)
29{
30}

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 46 of file StridedSliceLayer.cc.

50{
51 _input = input;
52 _begin = begin;
53 _end = end;
54 _strides = strides;
55 _output = output;
56
57 _begin_mask = begin_mask;
58 _ellipsis_mask = 0;
59 _end_mask = end_mask;
60 _new_axis_mask = 0;
61 _shrink_axis_mask = shrink_axis_mask;
62}
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 64 of file StridedSliceLayer.cc.

65{
66 if (_input->data_type() == OperandType::FLOAT32)
67 {
68 stridedSliceImpl<float>();
69 }
70 else if (_input->data_type() == OperandType::INT32)
71 {
72 stridedSliceImpl<int32_t>();
73 }
74 else if (_input->data_type() == OperandType::INT64)
75 {
76 stridedSliceImpl<int64_t>();
77 }
78 else
79 {
80 throw std::runtime_error{"StridedSlice: unsupported data type"};
81 }
82}
ir::DataType data_type() const override final

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


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