class ov::ICompiledModel

Overview

OpenVINO ICompiledModel interface. More…

#include <icompiled_model.hpp>

class ICompiledModel: public std::enable_shared_from_this< ICompiledModel >
{
public:
    // construction

    ICompiledModel(
        const std::shared_ptr<const ov::Model>& model,
        const std::shared_ptr<const ov::IPlugin>& plugin,
        const std::shared_ptr<ov::threading::ITaskExecutor>& task_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Default"}),
        const std::shared_ptr<ov::threading::ITaskExecutor>& callback_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Callback"})
        );

    ICompiledModel(
        const std::shared_ptr<const ov::Model>& model,
        const std::shared_ptr<const ov::IPlugin>& plugin,
        const ov::RemoteContext& context,
        const std::shared_ptr<ov::threading::ITaskExecutor>& task_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Default"}),
        const std::shared_ptr<ov::threading::ITaskExecutor>& callback_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Callback"})
        );

    // methods

    const std::vector<ov::Output<const ov::Node>>& outputs() const;
    const std::vector<ov::Output<const ov::Node>>& inputs() const;
    virtual std::shared_ptr<ov::IAsyncInferRequest> create_infer_request() const;
    virtual void export_model(std::ostream& model) const = 0;
    virtual std::shared_ptr<const ov::Model> get_runtime_model() const = 0;
    virtual void set_property(const ov::AnyMap& properties) = 0;
    virtual ov::Any get_property(const std::string& name) const = 0;
    std::shared_ptr<ov::IRemoteContext> get_context() const;
};

Detailed Documentation

OpenVINO ICompiledModel interface.

Construction

ICompiledModel(
    const std::shared_ptr<const ov::Model>& model,
    const std::shared_ptr<const ov::IPlugin>& plugin,
    const std::shared_ptr<ov::threading::ITaskExecutor>& task_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Default"}),
    const std::shared_ptr<ov::threading::ITaskExecutor>& callback_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Callback"})
    )

Constructor for ICompiledModel interface.

Parameters:

model

OpenVINO model representation

plugin

Pointer to plugin

task_executor

Task executor (CPUStreamsExecutor by default)

callback_executor

Callback executor (CPUStreamsExecutor by default)

ICompiledModel(
    const std::shared_ptr<const ov::Model>& model,
    const std::shared_ptr<const ov::IPlugin>& plugin,
    const ov::RemoteContext& context,
    const std::shared_ptr<ov::threading::ITaskExecutor>& task_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Default"}),
    const std::shared_ptr<ov::threading::ITaskExecutor>& callback_executor = std::make_shared<ov::threading::CPUStreamsExecutor>(ov::threading::IStreamsExecutor::Config{"Callback"})
    )

Constructor for ICompiledModel interface with remote context.

Parameters:

model

OpenVINO model representation

plugin

Pointer to plugin

context

Remote context

task_executor

Task executor (CPUStreamsExecutor by default)

callback_executor

Callback executor (CPUStreamsExecutor by default)

Methods

const std::vector<ov::Output<const ov::Node>>& outputs() const

Gets all outputs from compiled model.

Returns:

model outputs

const std::vector<ov::Output<const ov::Node>>& inputs() const

Gets all inputs from compiled model.

Returns:

model inputs

virtual std::shared_ptr<ov::IAsyncInferRequest> create_infer_request() const

Create infer request.

Returns:

Asynchronous infer request interface

virtual void export_model(std::ostream& model) const = 0

Export compiled model to stream.

Parameters:

model

output stream

virtual std::shared_ptr<const ov::Model> get_runtime_model() const = 0

Returns runtime model.

Returns:

OpenVINO Model which represents runtime graph

virtual void set_property(const ov::AnyMap& properties) = 0

Allows to set propertu.

Parameters:

properties

new plugin properties

virtual ov::Any get_property(const std::string& name) const = 0

Returns property.

Parameters:

name

Property name

Returns:

Property value

std::shared_ptr<ov::IRemoteContext> get_context() const

Creates device specific remote context.

Returns:

OpenVINO RemoteContext