class InferenceEngine::IExtension

Overview

This class is the main extension interface. More…

#include <ie_iextension.h>

class IExtension: public std::enable_shared_from_this< IExtension >
{
public:
    // methods

    virtual std::map<std::string, ngraph::OpSet> getOpSets();
    virtual std::vector<std::string> getImplTypes(const std::shared_ptr<ngraph::Node>& node);

    virtual ILayerImpl::Ptr getImplementation(
        const std::shared_ptr<ngraph::Node>& node,
        const std::string& implType
        );

    virtual void Unload() = 0;
    virtual void GetVersion(const InferenceEngine::Version \*& versionInfo) const = 0;
    virtual void Release();

protected:
};

// direct descendants

class Extension;

Detailed Documentation

This class is the main extension interface.

Deprecated The Inference Engine API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openvino.ai/latest/openvino_2_0_transition_guide.html

Methods

virtual std::map<std::string, ngraph::OpSet> getOpSets()

Returns operation sets This method throws an exception if it was not implemented.

Returns:

map of opset name to opset

virtual std::vector<std::string> getImplTypes(const std::shared_ptr<ngraph::Node>& node)

Returns vector of implementation types.

Parameters:

node

shared pointer to nGraph op

Returns:

vector of strings

virtual ILayerImpl::Ptr getImplementation(
    const std::shared_ptr<ngraph::Node>& node,
    const std::string& implType
    )

Returns implementation for specific nGraph op.

Parameters:

node

shared pointer to nGraph op

implType

implementation type

Returns:

shared pointer to implementation

virtual void Unload() = 0

Cleans resources up.

virtual void GetVersion(const InferenceEngine::Version \*& versionInfo) const = 0

Gets extension version information and stores in versionInfo.

Parameters:

versionInfo

Pointer to version info, will be set by plugin

virtual void Release()

Implements deprecated API.