interface InferenceEngine::IExecutableNetworkInternal

Overview

An internal API of executable network to be implemented by plugin,. More…

#include <ie_iexecutable_network_internal.hpp>

template IExecutableNetworkInternal: public std::enable_shared_from_this< IExecutableNetworkInternal >
{
    // typedefs

    typedef std::shared_ptr<IExecutableNetworkInternal> Ptr;

    // methods

    virtual void setNetworkInputs(const InputsDataMap& networkInputs);
    virtual void setNetworkOutputs(const OutputsDataMap& networkOutputs);
    virtual void setInputs(const std::vector<std::shared_ptr<const ov::Node>>& params);
    virtual const std::vector<std::shared_ptr<const ov::Node>>& getInputs() const;
    virtual void setOutputs(const std::vector<std::shared_ptr<const ov::Node>>& results);
    virtual const std::vector<std::shared_ptr<const ov::Node>>& getOutputs() const;
    virtual ConstOutputsDataMap GetOutputsInfo() const;
    virtual ConstInputsDataMap GetInputsInfo() const;
    virtual std::shared_ptr<IInferRequestInternal> CreateInferRequest();
    virtual void Export(const std::string& modelFileName);
    virtual void Export(std::ostream& networkModel);
    virtual std::shared_ptr<ngraph::Function> GetExecGraphInfo();
    virtual void SetPointerToPlugin(const std::shared_ptr<IInferencePlugin>& plugin);
    virtual std::shared_ptr<void> GetPointerToSo();
    virtual void SetConfig(const std::map<std::string, Parameter>& config);
    virtual Parameter GetConfig(const std::string& name) const;
    virtual Parameter GetMetric(const std::string& name) const;
    virtual std::shared_ptr<RemoteContext> GetContext() const;

protected:
};

// direct descendants

class ExecutableNetworkThreadSafeDefault;

Detailed Documentation

An internal API of executable network to be implemented by plugin,.

Typedefs

typedef std::shared_ptr<IExecutableNetworkInternal> Ptr

A shared pointer to IExecutableNetworkInternal interface.

Methods

virtual void setNetworkInputs(const InputsDataMap& networkInputs)

Sets the network inputs info.

Parameters:

networkInputs

The network inputs info

virtual void setNetworkOutputs(const OutputsDataMap& networkOutputs)

Sets the network outputs data.

Parameters:

networkOutputs

The network outputs

virtual void setInputs(const std::vector<std::shared_ptr<const ov::Node>>& params)

Sets the network parameters.

Parameters:

params

The network parameters

virtual const std::vector<std::shared_ptr<const ov::Node>>& getInputs() const

Returns the network parameters.

virtual void setOutputs(const std::vector<std::shared_ptr<const ov::Node>>& results)

Sets the network results.

Parameters:

results

The network results

virtual const std::vector<std::shared_ptr<const ov::Node>>& getOutputs() const

Returns the network results.

virtual ConstOutputsDataMap GetOutputsInfo() const

Gets the Executable network output Data node information. The received info is stored in the given Data node.

Returns:

out Reference to the ConstOutputsDataMap object

virtual ConstInputsDataMap GetInputsInfo() const

Gets the Executable network input Data node information. The received info is stored in the given InputsDataMap object.

Returns:

inputs Reference to ConstInputsDataMap object.

virtual std::shared_ptr<IInferRequestInternal> CreateInferRequest()

Create an inference request object used to infer the network Note: the returned request will have allocated input and output blobs (that can be changed later)

Returns:

shared_ptr for the created request

virtual void Export(const std::string& modelFileName)

Export the current created executable network so it can be used later in the Import() main API.

Deprecated Use IExecutableNetworkInternal::Export(std::ostream& networkModel)

Parameters:

modelFileName

  • path to the location of the exported file

virtual void Export(std::ostream& networkModel)

Export the current created executable network so it can be used later in the Import() main API.

Parameters:

networkModel

  • Reference to network model output stream

virtual std::shared_ptr<ngraph::Function> GetExecGraphInfo()

Get executable graph information from a device.

Returns:

A network object to store executable graph information

virtual void SetPointerToPlugin(const std::shared_ptr<IInferencePlugin>& plugin)

Sets the pointer to plugin internal.

Needed to correctly handle ownership between objects.

Parameters:

plugin

The plugin

virtual std::shared_ptr<void> GetPointerToSo()

Gets the pointer to plugin so.

Needed to correctly handle ownership between objects.

Returns:

A shared pointer to the plugin so

virtual void SetConfig(const std::map<std::string, Parameter>& config)

Sets configuration for current executable network.

Parameters:

config

Map of pairs: (config parameter name, config parameter value)

virtual Parameter GetConfig(const std::string& name) const

Gets configuration dedicated to plugin behaviour.

Parameters:

name

A config key, can be found in ie_plugin_config.hpp

Returns:

A value of config corresponding to config key

virtual Parameter GetMetric(const std::string& name) const

Gets general runtime metric for dedicated hardware.

Parameters:

name

A metric name to request

Returns:

A metric value corresponding to metric key

virtual std::shared_ptr<RemoteContext> GetContext() const

Gets the remote context.

Returns:

A reference to a context