class ov::pass::ResolveNameCollisions

Overview

ResolveNameCollisions transformation helps to fix names collisions if some internal nodes or nodes with autogenerated names have conflicts with other nodes from the original graph. More…

#include <resolve_names_collisions.hpp>

class ResolveNameCollisions: public ov::pass::ModelPass
{
public:
    // methods

    OPENVINO_RTTI("ResolveNameCollisions", "0");
    virtual bool run_on_model(const std::shared_ptr<ov::Model>& model);
};

Inherited Members

public:
    // typedefs

    typedef DiscreteTypeInfo type_info_t;

    // methods

    bool get_property(const PassPropertyMask& prop_mask) const;
    void set_name(const std::string& name);
    std::string get_name() const;
    void set_callback(const param_callback& callback);
    virtual void set_pass_config(const std::shared_ptr<PassConfig>& pass_config);
    std::shared_ptr<PassConfig> get_pass_config();
    bool m_transformation_callback(const std::shared_ptr<const Node>& node);
    bool transformation_callback(const std::shared_ptr<const Node>& node);
    virtual const type_info_t& get_type_info() const = 0;
    OPENVINO_RTTI("ov::pass::ModelPass");
    virtual bool run_on_function(std::shared_ptr<ov::Model> m);
    virtual bool run_on_model(const std::shared_ptr<ov::Model>& m);

Detailed Documentation

ResolveNameCollisions transformation helps to fix names collisions if some internal nodes or nodes with autogenerated names have conflicts with other nodes from the original graph.

Every transformation call can change the graph structure and create some additional operations, autogenerated name is used if new operation doesn’t have friendly name. This transformations should be called after the transformation pipeline in order to fix names collisions.