class ov::op::util::MultiSubGraphOp¶
Overview¶
Abstract base class for sub-graph based ops, i.e ops that have some sub-graphs. More…
#include <multi_subgraph_base.hpp>
class MultiSubGraphOp: public ov::op::Op
{
public:
// typedefs
typedef std::vector<MultiSubGraphOp::InputDescription::Ptr> MultiSubgraphInputDescriptionVector;
typedef std::vector<MultiSubGraphOp::OutputDescription::Ptr> MultiSubgraphOutputDescriptionVector;
// classes
class BodyOutputDescription;
class ConcatOutputDescription;
class InputDescription;
class InvariantInputDescription;
class MergedInputDescription;
class OutputDescription;
class SliceInputDescription;
// construction
MultiSubGraphOp();
MultiSubGraphOp();
// methods
"MultiSubGraphOp""util" OPENVINO_OP(, );
virtual const std::shared_ptr<Model>&size_t get_function() const;
virtual const std::vector<std::shared_ptr<Model>>& get_functions() const;
virtual voidintconst std::shared_ptr<Model>& set_function(, );
const MultiSubgraphInputDescriptionVector&int get_input_descriptions() const;
MultiSubgraphInputDescriptionVector&int get_input_descriptions();
const MultiSubgraphOutputDescriptionVector&int get_output_descriptions() const;
MultiSubgraphOutputDescriptionVector&int get_output_descriptions();
voidintconst MultiSubgraphInputDescriptionVector& set_input_descriptions(, );
voidintconst MultiSubgraphOutputDescriptionVector& set_output_descriptions(, );
virtual voidconst Output<Node>&const ov::ParameterVector& set_invariant_inputs(
,
);
virtual Output<Node>const ResultVector& set_body_outputs();
virtual size_t get_internal_subgraphs_size() const;
virtual size_t get_input_descriptions_size() const;
virtual size_t get_output_descriptions_size() const;
bool get_transformations_allowed() const;
MultiSubGraphOp&const MultiSubGraphOp& operator = ();
MultiSubGraphOp&MultiSubGraphOp&& operator = ();
};
// direct descendants
class FrameworkNode;
class SubGraphOp;
class If;
Inherited Members¶
public:
// typedefs
typedef DiscreteTypeInfo type_info_t;
typedef std::map<std::string, Any> RTMap;
// methods
virtual void validate_and_infer_types();
void constructor_validate_and_infer_types();
virtual boolAttributeVisitor& visit_attributes();
virtual const ov::op::AutoBroadcastSpec& get_autob() const;
virtual bool has_evaluate() const;
virtual boolconst ov::HostTensorVector&const ov::HostTensorVector& evaluate(, ) const;
virtual boolconst ov::HostTensorVector&const ov::HostTensorVector&const EvaluationContext& evaluate(
,
,
) const;
virtual boolov::TensorVector&const ov::TensorVector& evaluate(, ) const;
virtual boolov::TensorVector&const ov::TensorVector&const ov::EvaluationContext& evaluate(
,
,
) const;
virtual boolov::TensorVector& evaluate_lower() const;
virtual boolov::TensorVector& evaluate_upper() const;
virtual boolTensorLabelVector& evaluate_label() const;
virtual boolOutputVector&const OutputVector& constant_fold(, );
virtual OutputVector decompose_op() const;
virtual const type_info_t& get_type_info() const = 0;
const char \* get_type_name() const;
voidconst NodeVector& set_arguments();
voidconst OutputVector& set_arguments();
voidsize_tconst Output<Node>& set_argument(, );
voidsize_tconst element::Type&const PartialShape& set_output_type(, , );
voidsize_t set_output_size();
void invalidate_values();
virtual void revalidate_and_infer_types();
virtual std::string description() const;
const std::string& get_name() const;
voidconst std::string& set_friendly_name();
const std::string& get_friendly_name() const;
virtual bool is_dynamic() const;
size_t get_instance_id() const;
virtual std::ostream&std::ostream&uint32_t write_description(, ) const;
const std::vector<std::shared_ptr<Node>>& get_control_dependencies() const;
const std::vector<Node \*>& get_control_dependents() const;
voidstd::shared_ptr<Node> add_control_dependency();
voidstd::shared_ptr<Node> remove_control_dependency();
void clear_control_dependencies();
void clear_control_dependents();
voidconst std::shared_ptr<const Node>& add_node_control_dependencies();
voidconst std::shared_ptr<const Node>& add_node_control_dependents();
voidstd::shared_ptr<Node> transfer_control_dependents();
size_t get_output_size() const;
const element::Type&size_t get_output_element_type() const;
const element::Type& get_element_type() const;
const Shape&size_t get_output_shape() const;
const PartialShape&size_t get_output_partial_shape() const;
Output<const Node> get_default_output() const;
Output<Node> get_default_output();
virtual size_t get_default_output_index() const;
size_t no_default_index() const;
const Shape& get_shape() const;
descriptor::Tensor&size_t get_output_tensor() const;
descriptor::Tensor&size_t get_input_tensor() const;
std::set<Input<Node>>size_t get_output_target_inputs() const;
size_t get_input_size() const;
const element::Type&size_t get_input_element_type() const;
const Shape&size_t get_input_shape() const;
const PartialShape&size_t get_input_partial_shape() const;
Node \*size_t get_input_node_ptr() const;
std::shared_ptr<Node>size_t get_input_node_shared_ptr() const;
Output<Node>size_t get_input_source_output() const;
virtual std::shared_ptr<Node>const OutputVector& clone_with_new_inputs() const = 0;
std::shared_ptr<Node>const OutputVector& copy_with_new_inputs() const;
std::shared_ptr<Node>const OutputVector&const std::vector<std::shared_ptr<Node>>& copy_with_new_inputs(
,
) const;
boolstd::shared_ptr<const Node> has_same_type() const;
RTMap& get_rt_info();
const RTMap& get_rt_info() const;
NodeVectorbool get_users() const;
boolconst Node& operator < () const;
std::vector<Input<Node>> inputs();
std::vector<Input<const Node>> inputs() const;
std::vector<Output<Node>> input_values() const;
std::vector<Output<Node>> outputs();
std::vector<Output<const Node>> outputs() const;
Input<Node>size_t input();
Input<const Node>size_t input() const;
Output<Node>size_t input_value() const;
Output<Node>size_t output();
Output<const Node>size_t output() const;
virtual boolov::pass::pattern::Matcher \*const Output<Node>&const Output<Node>& match_value(
,
,
);
virtual boolov::pass::pattern::Matcher \*const Output<Node>& match_node(, );
static _OPENVINO_HIDDEN_METHODconst ::ov::Node::type_info_t& get_type_info_static();
virtual const ::ov::Node::type_info_t& get_type_info() const;
Detailed Documentation¶
Abstract base class for sub-graph based ops, i.e ops that have some sub-graphs.
Methods¶
virtual const std::shared_ptr<Model>&size_t get_function() const
Gets internal sub-graph by index in MultiSubGraphOp.
Parameters:
index |
sub-graph’s index in op |
Returns:
pointer to Model with sub-graph
virtual const std::vector<std::shared_ptr<Model>>& get_functions() const
Gets internal sub-graphs.
Returns:
a vector of pointers to sub-graph Models
virtual voidintconst std::shared_ptr<Model>& set_function(, )
Adds sub-graph to MultiSubGraphOp.
Parameters:
index |
index of new sub-graph |
func |
func new sub_graph as Model |
const MultiSubgraphInputDescriptionVector&int get_input_descriptions() 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
MultiSubgraphInputDescriptionVector&int get_input_descriptions()
Gets vector with connections between operation inputs and internal sub-graph parameters.
Parameters:
index |
index of internal sub-graph |
Returns:
vector of input descriptions
const MultiSubgraphOutputDescriptionVector&int get_output_descriptions() 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
MultiSubgraphOutputDescriptionVector&int get_output_descriptions()
Gets vector with connections between operation outputs and internal sub-graph results.
Parameters:
index |
index of internal sub-graph |
Returns:
vector of output descriptions
voidintconst MultiSubgraphInputDescriptionVector& set_input_descriptions(, )
Sets vector with connections between operation inputs and internal sub-graph parameters.
Parameters:
index |
index of internal sub-graph |
inputs |
vector of input descriptions |
voidintconst MultiSubgraphOutputDescriptionVector& set_output_descriptions(, )
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 voidconst Output<Node>&const ov::ParameterVector& set_invariant_inputs(
,
)
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>const ResultVector& set_body_outputs()
Set output decriptions for MultiSubGraphOp output.
Parameters:
bodies_results |
vector of bodies results for one output. |
Returns:
value Output node for bodies_results.
virtual size_t get_internal_subgraphs_size() const
Get number of internal sub-graphs.
Returns:
Number of sub-graphs.
virtual size_t get_input_descriptions_size() const
Get number of input descriptions.
Returns:
Number of input descriptions
virtual size_t get_output_descriptions_size() const
Get number of output descriptions.
Returns:
Number of output descriptions