29 #if defined(_WIN32) && defined(IMPLEMENT_INFERENCE_EXTENSION_API)
30 #define INFERENCE_EXTENSION_API(TYPE) extern "C" __declspec(dllexport) TYPE
32 #define INFERENCE_EXTENSION_API(TYPE) INFERENCE_ENGINE_API(TYPE)
42 namespace InferenceEngine {
87 class INFERENCE_ENGINE_API_CLASS(ILayerImpl) {
92 using Ptr = std::shared_ptr<ILayerImpl>;
104 class INFERENCE_ENGINE_API_CLASS(ILayerExecImpl) :
public ILayerImpl {
109 using Ptr = std::shared_ptr<ILayerExecImpl>;
149 class INFERENCE_ENGINE_API_CLASS(IExtension) :
public InferenceEngine::details::IRelease {
156 virtual std::map<std::string, ngraph::OpSet>
getOpSets();
163 virtual std::vector<std::string>
getImplTypes(
const std::shared_ptr<ngraph::Node>& node) {
189 virtual
void GetVersion(const InferenceEngine::
Version*& versionInfo) const noexcept = 0;
This class is the main extension interface.
Definition: ie_iextension.h:149
virtual void Unload() noexcept=0
Cleans resources up.
virtual ILayerImpl::Ptr getImplementation(const std::shared_ptr< ngraph::Node > &node, const std::string &implType)
Returns implementation for specific nGraph op.
Definition: ie_iextension.h:174
virtual std::vector< std::string > getImplTypes(const std::shared_ptr< ngraph::Node > &node)
Returns vector of implementation types.
Definition: ie_iextension.h:163
virtual std::map< std::string, ngraph::OpSet > getOpSets()
Returns operation sets This method throws an exception if it was not implemented.
virtual StatusCode getSupportedConfigurations(std::vector< LayerConfig > &conf, ResponseDesc *resp) noexcept=0
Gets all supported configurations for the current layer.
virtual StatusCode execute(std::vector< Blob::Ptr > &inputs, std::vector< Blob::Ptr > &outputs, ResponseDesc *resp) noexcept=0
Execute method.
virtual ~ILayerExecImpl()
Destructor.
virtual StatusCode init(LayerConfig &config, ResponseDesc *resp) noexcept=0
Initializes the implementation.
This class provides interface for extension implementations.
Definition: ie_iextension.h:87
virtual ~ILayerImpl()
Destructor.
std::shared_ptr< ILayerImpl > Ptr
A shared pointer to the ILayerImpl interface.
Definition: ie_iextension.h:92
This class defines Tensor description.
Definition: ie_layouts.h:158
The macro defines a symbol import/export mechanism essential for Microsoft Windows(R) OS.
A header file for Blob and generic TBlob<>
This is a header file with common inference engine definitions.
StatusCode
This enum contains codes for all possible return values of the interface functions.
Definition: ie_common.h:222
std::shared_ptr< IExtension > IExtensionPtr
A shared pointer to a IExtension interface.
Definition: ie_iextension.h:195
A header file for data layouts and conversion between them.
header file for no_copy class
A header file that provides versioning information for the inference engine shared library.
This structure describes data configuration.
Definition: ie_iextension.h:48
bool constant
Flag for determination of the constant memory. If layer contains all constant memory we can calculate...
Definition: ie_iextension.h:61
TensorDesc desc
Format of memory descriptor.
Definition: ie_iextension.h:52
int inPlace
Index of in-place memory. If -1 memory cannot be in-place.
Definition: ie_iextension.h:56
This structure describes Layer configuration.
Definition: ie_iextension.h:68
bool dynBatchSupport
Supported dynamic batch. If false, dynamic batch is not supported.
Definition: ie_iextension.h:72
std::vector< DataConfig > inConfs
Vector of input data configs.
Definition: ie_iextension.h:76
std::vector< DataConfig > outConfs
Vector of output data configs.
Definition: ie_iextension.h:80
Represents detailed information for an error.
Definition: ie_common.h:245
Represents version information that describes plugins and the inference engine runtime library.
Definition: ie_version.hpp:21