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.

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.