21 #include "ngraph/factory_adapter.hpp"
22 #include "ngraph/function.hpp"
23 #include "ngraph/op/constant.hpp"
24 #include "ngraph/op/parameter.hpp"
25 #include "ngraph/op/tensor_iterator.hpp"
26 #include "ngraph/op/util/sub_graph_base.hpp"
43 int64_t in_body_condition_output_idx)
44 : current_iteration_input_idx(in_current_iteration_input_idx)
45 , body_condition_output_idx(in_body_condition_output_idx)
49 int64_t current_iteration_input_idx = -1;
52 int64_t body_condition_output_idx = -1;
55 NGRAPH_RTTI_DECLARATION;
72 int64_t axis)
override;
76 m_special_body_ports = special_body_ports;
79 SpecialBodyPorts get_special_body_ports()
const {
return m_special_body_ports; }
83 clone_with_new_inputs(
const OutputVector& new_args)
const override;
86 const HostTensorVector& inputs)
const override;
92 void clone_to(
Loop& dst,
const OutputVector& new_args)
const;
110 "AttributeAdapter<op::v5::Loop::SpecialBodyPorts>", 0};
111 const DiscreteTypeInfo& get_type_info()
const override {
return type_info; }
An AttributeAdapter "captures" an attribute as an AT& and makes it available as a ValueAccessor<VAT>.
Definition: attribute_adapter.hpp:171
Visits the attributes of a node, primarily for serialization-like tasks.
Definition: attribute_visitor.hpp:71
Definition: attribute_adapter.hpp:79
A handle for one of a node's outputs.
Definition: node_output.hpp:42
Abstract base class for sub-graph based ops, i.e ops that have sub-graph.
Definition: sub_graph_base.hpp:31
Iterate a body over tensors, accumulating into tensors.
Definition: loop.hpp:36
Loop()=default
Constructs a Loop operation.
bool evaluate(const HostTensorVector &outputs, const HostTensorVector &inputs) const override
Evaluates the op on input_values putting results in output_values.
void validate_and_infer_types() override
Verifies that attributes and inputs are consistent and computes output shapes and element types....
Output< Node > get_concatenated_slices(const Output< Node > &value, int64_t start, int64_t stride, int64_t part_size, int64_t end, int64_t axis) override
Concatenates slices from all iterations.
Loop(const Output< Node > &trip_count, const Output< Node > &execution_condition)
Constructs a Loop operation.
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28
Allows to define the purpose of inputs/outputs in the body.
Definition: loop.hpp:40