class ov::pass::Manager

Overview

Manager class allows to manage transformation passes. More…

#include <manager.hpp>

class Manager
{
public:
    // construction

    Manager();
    Manager();

    // methods

    template <, , >
    std::shared_ptr<T>Args&&... register_pass();

    std::shared_ptr<PassBase>std::shared_ptr<PassBase> register_pass_instance();
    boolstd::shared_ptr<Model> run_passes();
    voidbool set_pass_visualization();
    voidbool set_per_pass_validation();
    std::shared_ptr<PassConfig> get_pass_config();
};

Detailed Documentation

Manager class allows to manage transformation passes.

Methods

template <, , >
std::shared_ptr<T>Args&&... register_pass()

Register given transformation class type to execution list Example below show the basic usage of pass::Manager.

pass::Manager manager;
manager.register_pass<MyTransformation>(/\*transformation constructor ars\*&zwj;/);
manager.run_passes(f);

For some purposes transformation can be registered and disabled by default.

manager.register_pass<MyTransformation, false>();

Returns:

shared_ptr to the transformation instance

boolstd::shared_ptr<Model> run_passes()

Runs registered transformations on a given model.

Parameters:

model

Input model

Returns:

Returns true if the model was changed by transformations, false otherwise.

voidbool set_per_pass_validation()

Set flag to enable/disable running Validate pass after executing each registered pass.

Parameters:

new_state

Value “true” enables Validate pass run; “false”, otherwise

std::shared_ptr<PassConfig> get_pass_config()

Returns:

PassConfig shared object. This object is used for transformations pipeline configuration. This object allows to disable/enable transformations execution, set callback to particular transformation. For mo details see PassConfig class.