22 #include "ngraph/node.hpp"
23 #include "ngraph/op/op.hpp"
24 #include "ngraph/op/util/attr_types.hpp"
37 NGRAPH_RTTI_DECLARATION;
63 const std::vector<int64_t>& begin_mask,
64 const std::vector<int64_t>& end_mask,
65 const std::vector<int64_t>& new_axis_mask = std::vector<int64_t>{},
66 const std::vector<int64_t>& shrink_axis_mask = std::vector<int64_t>{},
67 const std::vector<int64_t>& ellipsis_mask = std::vector<int64_t>{});
87 const std::vector<int64_t>& begin_mask,
88 const std::vector<int64_t>& end_mask,
89 const std::vector<int64_t>& new_axis_mask = std::vector<int64_t>{},
90 const std::vector<int64_t>& shrink_axis_mask = std::vector<int64_t>{},
91 const std::vector<int64_t>& ellipsis_mask = std::vector<int64_t>{});
94 const std::vector<int64_t>& get_begin_mask()
const {
return m_begin_mask; }
95 const std::vector<int64_t>& get_end_mask()
const {
return m_end_mask; }
96 const std::vector<int64_t>& get_new_axis_mask()
const {
return m_new_axis_mask; }
97 const std::vector<int64_t>& get_shrink_axis_mask()
const
99 return m_shrink_axis_mask;
101 const std::vector<int64_t>& get_ellipsis_mask()
const {
return m_ellipsis_mask; }
102 std::shared_ptr<Node>
103 clone_with_new_inputs(
const OutputVector& new_args)
const override;
106 bool evaluate(
const HostTensorVector& output_values,
107 const HostTensorVector& input_values)
const override;
108 bool evaluate_lower(
const HostTensorVector& outputs)
const override;
109 bool evaluate_upper(
const HostTensorVector& outputs)
const override;
112 AxisSet convert_mask_to_axis_set(
const std::vector<int64_t>& mask)
const;
114 std::vector<int64_t> m_begin_mask;
115 std::vector<int64_t> m_end_mask;
116 std::vector<int64_t> m_new_axis_mask;
117 std::vector<int64_t> m_shrink_axis_mask;
118 std::vector<int64_t> m_ellipsis_mask;
Visits the attributes of a node, primarily for serialization-like tasks.
Definition: attribute_visitor.hpp:71
A set of axes.
Definition: axis_set.hpp:31
A handle for one of a node's outputs.
Definition: node_output.hpp:42
Root of all actual ops.
Definition: op.hpp:29
Takes a slice of an input tensor, i.e., the sub-tensor that resides within a bounding box,...
Definition: strided_slice.hpp:35
StridedSlice(const Output< Node > &data, const Output< Node > &begin, const Output< Node > &end, const Output< Node > &strides, const std::vector< int64_t > &begin_mask, const std::vector< int64_t > &end_mask, const std::vector< int64_t > &new_axis_mask=std::vector< int64_t >{}, const std::vector< int64_t > &shrink_axis_mask=std::vector< int64_t >{}, const std::vector< int64_t > &ellipsis_mask=std::vector< int64_t >{})
Constructs a dynamic tensor strided slice operation.
StridedSlice(const Output< Node > &data, const Output< Node > &begin, const Output< Node > &end, const std::vector< int64_t > &begin_mask, const std::vector< int64_t > &end_mask, const std::vector< int64_t > &new_axis_mask=std::vector< int64_t >{}, const std::vector< int64_t > &shrink_axis_mask=std::vector< int64_t >{}, const std::vector< int64_t > &ellipsis_mask=std::vector< int64_t >{})
Constructs a dynamic tensor strided slice operation.
void validate_and_infer_types() override
Verifies that attributes and inputs are consistent and computes output shapes and element types....
size_t get_version() const override
Definition: strided_slice.hpp:105
bool evaluate(const HostTensorVector &output_values, const HostTensorVector &input_values) const override
Evaluates the op on input_values putting results in output_values.
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28