Class ov::op::util::MultiSubGraphOp#
-
class MultiSubGraphOp : public ov::op::Sink#
Abstract base class for sub-graph based ops, i.e ops that have some sub-graphs.
Subclassed by ov::op::util::FrameworkNode, ov::op::util::SubGraphOp, ov::op::v8::If
Public Functions
-
inline virtual const std::shared_ptr<Model> &get_function(size_t index) const#
Gets internal sub-graph by index in MultiSubGraphOp.
- Parameters:
index – sub-graph’s index in op
- Returns:
pointer to Model with sub-graph
-
inline virtual const std::vector<std::shared_ptr<Model>> &get_functions() const#
Gets internal sub-graphs.
- Returns:
a vector of pointers to sub-graph Models
Adds sub-graph to MultiSubGraphOp.
- Parameters:
index – index of new sub-graph
func – func new sub_graph as Model
-
inline const MultiSubgraphInputDescriptionVector &get_input_descriptions(int index) const#
Gets vector with connections between operation inputs and internal sub-graph parameters.
- Parameters:
index – index of internal sub-graph
- Returns:
vector of input descriptions
-
inline MultiSubgraphInputDescriptionVector &get_input_descriptions(int index)#
Gets vector with connections between operation inputs and internal sub-graph parameters.
- Parameters:
index – index of internal sub-graph
- Returns:
vector of input descriptions
-
inline const MultiSubgraphOutputDescriptionVector &get_output_descriptions(int index) const#
Gets vector with connections between operation outputs and internal sub-graph results.
- Parameters:
index – index of internal sub-graph
- Returns:
vector of output descriptions
-
inline MultiSubgraphOutputDescriptionVector &get_output_descriptions(int index)#
Gets vector with connections between operation outputs and internal sub-graph results.
- Parameters:
index – index of internal sub-graph
- Returns:
vector of output descriptions
-
inline void set_input_descriptions(int index, const MultiSubgraphInputDescriptionVector &inputs)#
Sets vector with connections between operation inputs and internal sub-graph parameters.
- Parameters:
index – index of internal sub-graph
inputs – vector of input descriptions
-
inline void set_output_descriptions(int index, const MultiSubgraphOutputDescriptionVector &outputs)#
Sets vector with connections between operation outputs and internal sub-graph results.
- Parameters:
index – index of internal sub-graph
outputs – vector of input descriptions
-
virtual void set_invariant_inputs(const Output<Node> &value, const ov::ParameterVector &bodies_parameters)#
Set input decriptions for MultiSubGraphOp input.
- Parameters:
value – The value supplied as an input to the block.
bodies_parameters – vector of bodies parameters.
-
virtual Output<Node> set_body_outputs(const ResultVector &bodies_results)#
Set output decriptions for MultiSubGraphOp output.
- Parameters:
bodies_results – vector of bodies results for one output.
- Returns:
value Output node for bodies_results.
-
inline virtual size_t get_internal_subgraphs_size() const#
Get number of internal sub-graphs.
- Returns:
Number of sub-graphs.
-
inline virtual size_t get_input_descriptions_size() const#
Get number of input descriptions.
- Returns:
Number of input descriptions
-
inline virtual size_t get_output_descriptions_size() const#
Get number of output descriptions.
- Returns:
Number of output descriptions
-
class BodyOutputDescription : public ov::op::util::MultiSubGraphOp::OutputDescription#
Produces an output from a specific iteration.
Public Functions
-
BodyOutputDescription(uint64_t body_value_index, uint64_t output_index, int64_t iteration = -1)#
Constructs a new instance.
- Parameters:
body_value_index – A body value that produces the output
output_index – The SubGraphOp output index
iteration – which iteration (typically -1, final) will supply the value
-
BodyOutputDescription(uint64_t body_value_index, uint64_t output_index, int64_t iteration = -1)#
-
class ConcatOutputDescription : public ov::op::util::MultiSubGraphOp::OutputDescription#
Produces an output by concatenating an output from each iteration.
Public Functions
-
ConcatOutputDescription(uint64_t body_value_index, uint64_t output_index, int64_t start, int64_t stride, int64_t part_size, int64_t end, int64_t axis)#
Constructs a new instance.
- Parameters:
body_value_index – A body value that produces the output
output_index – The MultiSubGraphOp output index
start – First index for slices
stride – Step amount for slices
part_size – Width of slices
end – Last index for slices
axis – Axis being sliced
-
ConcatOutputDescription(uint64_t body_value_index, uint64_t output_index, int64_t start, int64_t stride, int64_t part_size, int64_t end, int64_t axis)#
-
class InputDescription#
Abstract class describes a connection between a MultiSubGraphOp input and the body.
Subclassed by ov::op::util::MultiSubGraphOp::InvariantInputDescription, ov::op::util::MultiSubGraphOp::MergedInputDescription, ov::op::util::MultiSubGraphOp::SliceInputDescription
-
class InvariantInputDescription : public ov::op::util::MultiSubGraphOp::InputDescription#
Produces an input.
Public Functions
-
InvariantInputDescription(uint64_t input_index, uint64_t body_parameter_index)#
Constructs a new instance.
- Parameters:
input_index – Position of the MultiSubGraphOp input
body_parameter_index – Body parameter to receive input
-
InvariantInputDescription(uint64_t input_index, uint64_t body_parameter_index)#
-
class MergedInputDescription : public ov::op::util::MultiSubGraphOp::InputDescription#
Describes a body input initialized from a MultiSubGraphOp input on the first iteration, and then a body output thereafter.
Public Functions
-
MergedInputDescription(uint64_t input_index, uint64_t body_parameter_index, uint64_t body_value_index)#
Constructs a new instance.
- Parameters:
input_index – Position of the MultiSubGraphOp input supplying a value to body_parameter for the initial iteration.
body_parameter_index – Body parameter position to receive input.
body_value_index – Body value to supply body_parameter for successive iterations.
-
MergedInputDescription(uint64_t input_index, uint64_t body_parameter_index, uint64_t body_value_index)#
-
class OutputDescription#
Abstract class describes how a MultiSubGraphOp output is produced from the body.
Subclassed by ov::op::util::MultiSubGraphOp::BodyOutputDescription, ov::op::util::MultiSubGraphOp::ConcatOutputDescription
-
class SliceInputDescription : public ov::op::util::MultiSubGraphOp::InputDescription#
Describes a body input formed from slices of an input to MultiSubGraphOp.
Public Functions
-
SliceInputDescription(uint64_t input_index, uint64_t body_parameter_index, int64_t start, int64_t stride, int64_t part_size, int64_t end, int64_t axis)#
Constructs a new instance.
- Parameters:
input_index – Position of the MultiSubGraphOp input
body_parameter_index – Body parameter position to receive input
start – First index for slices
stride – Step amount for slices
part_size – Width of slices
end – Last index for slices
axis – Axis being sliced
-
SliceInputDescription(uint64_t input_index, uint64_t body_parameter_index, int64_t start, int64_t stride, int64_t part_size, int64_t end, int64_t axis)#
-
inline virtual const std::shared_ptr<Model> &get_function(size_t index) const#