9 #include "ngraph/factory_adapter.hpp"
10 #include "ngraph/function.hpp"
11 #include "ngraph/op/constant.hpp"
12 #include "ngraph/op/parameter.hpp"
13 #include "ngraph/op/tensor_iterator.hpp"
14 #include "ngraph/op/util/sub_graph_base.hpp"
31 int64_t in_body_condition_output_idx)
32 : current_iteration_input_idx(in_current_iteration_input_idx)
33 , body_condition_output_idx(in_body_condition_output_idx)
37 int64_t current_iteration_input_idx = -1;
40 int64_t body_condition_output_idx = -1;
43 NGRAPH_RTTI_DECLARATION;
60 int64_t axis)
override;
64 m_special_body_ports = special_body_ports;
67 SpecialBodyPorts get_special_body_ports()
const {
return m_special_body_ports; }
71 clone_with_new_inputs(
const OutputVector& new_args)
const override;
74 const HostTensorVector& inputs)
const override;
81 void clone_to(
Loop& dst,
const OutputVector& new_args)
const;
99 "AttributeAdapter<op::v5::Loop::SpecialBodyPorts>", 0};
100 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:161
Visits the attributes of a node, primarily for serialization-like tasks.
Definition: attribute_visitor.hpp:59
Definition: attribute_adapter.hpp:67
A handle for one of a node's outputs.
Definition: node_output.hpp:33
Abstract base class for sub-graph based ops, i.e ops that have sub-graph.
Definition: sub_graph_base.hpp:19
Iterate a body over tensors, accumulating into tensors.
Definition: loop.hpp:24
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.
bool has_evaluate() const override
Allows to get information about availability of evaluate method for the current operation.
Loop(const Output< Node > &trip_count, const Output< Node > &execution_condition)
Constructs a Loop operation.
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16
Allows to define the purpose of inputs/outputs in the body.
Definition: loop.hpp:28