class InferenceEngine::Extension

Overview

This class is a C++ helper to work with objects created using extensions. More…

#include <ie_extension.h>

class Extension: public InferenceEngine::IExtension
{
public:
    // construction

    template <typename C, typename = details::enableIfSupportedChar<C>>
    Extension(const std::basic_string<C>& name);

    // methods

    virtual void GetVersion(const InferenceEngine::Version*& versionInfo) const;
    virtual void Unload();
    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
        );
};

Inherited Members

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();

Detailed Documentation

This class is a C++ helper to work with objects created using extensions.

Construction

template <typename C, typename = details::enableIfSupportedChar<C>>
Extension(const std::basic_string<C>& name)

Loads extension from a shared library.

Parameters:

name

Full or relative path to extension library

Methods

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

Gets the extension version information.

Parameters:

versionInfo

A pointer to version info, set by the plugin

virtual void Unload()

Cleans the resources up.

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