Inference Engine provides an InferenceEngine::IExtension interface, which defines the interface for Inference Engine Extension libraries. Inherit all extension libraries from this interface. The example below contains an implementation of two operations:
Template used as an example in this document and
FFT used as a more complex example from the Custom Operations Guide.
FFToperation is implemented using the OpenCV library functions
Based on that, the declaration of an extension class can look as follows:
The extension library should contain and export the InferenceEngine::CreateExtension method, which creates an
Extension object should implement the following methods:
To understand how to integrate execution kernels to the extension library, read the documentation about development of custom CPU kernels.
To understand how to register custom ONNX operator to the extension library, read the documentation about custom ONNX operators.