24 #if defined(_WIN32) && defined(IMPLEMENT_INFERENCE_EXTENSION_API)
25 #define INFERENCE_EXTENSION_API(TYPE) extern "C" __declspec(dllexport) TYPE
27 #define INFERENCE_EXTENSION_API(TYPE) INFERENCE_ENGINE_API(TYPE)
60 bool dynBatchSupport =
false;
76 using Ptr = std::shared_ptr<ILayerImpl>;
89 virtual StatusCode getSupportedConfigurations(std::vector<LayerConfig>& conf,
ResponseDesc* resp) noexcept = 0;
112 virtual StatusCode execute(std::vector<Blob::Ptr>& inputs,
113 std::vector<Blob::Ptr>& outputs,
ResponseDesc* resp) noexcept = 0;
121 using Ptr = std::shared_ptr<ILayerImplFactory>;
122 using ImplCreator = std::function<ILayerImpl*()>;
139 return NOT_IMPLEMENTED;
148 virtual StatusCode getImplementations(std::vector<ILayerImpl::Ptr>& impls,
ResponseDesc* resp) noexcept = 0;
157 using Ptr = std::shared_ptr<IShapeInferImpl>;
165 const std::map<std::string, std::string>& ,
166 const std::map<std::string, Blob::Ptr>& ,
167 std::vector<SizeVector>& ,
175 const std::map<std::string, std::string>& ,
176 const std::map<std::string, Blob::Ptr>& ,
177 std::vector<SizeVector>& ,
203 virtual void Unload() noexcept = 0;
212 virtual StatusCode getShapeInferTypes(
char**& types,
unsigned int& size,
ResponseDesc* resp) noexcept = 0;
220 virtual StatusCode getShapeInferImpl(IShapeInferImpl::Ptr& impl,
243 return NOT_IMPLEMENTED;
247 return NOT_IMPLEMENTED;
251 using IExtensionPtr = std::shared_ptr<IExtension>;
252 using IShapeInferExtensionPtr = std::shared_ptr<IShapeInferExtension>;
StatusCode CreateExtension(IExtension *&ext, ResponseDesc *resp) noexcept
Creates the default instance of the extension.
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:155
A header file that provides versioning information for the inference engine shared library...
A header file for a plugin logging mechanism.
StatusCode getShapeInferTypes(char **&, unsigned int &, ResponseDesc *) noexcept override
Fills passed array with types of layers which shape infer implementations are included in the extensi...
Definition: ie_iextension.h:242
StatusCode getShapeInferImpl(IShapeInferImpl::Ptr &, const char *, ResponseDesc *) noexcept override
Gets shape propagation implementation for the given string-type of cnn Layer.
Definition: ie_iextension.h:246
Definition: ie_argmax_layer.hpp:11
Represents version information that describes plugins and the inference engine runtime library...
Definition: ie_version.hpp:20
virtual StatusCode inferShapes(const std::vector< SizeVector > &, const std::map< std::string, std::string > &, const std::map< std::string, Blob::Ptr > &, std::vector< SizeVector > &, ResponseDesc *) noexcept
check that reshape can be applied, that parameters and shapes are valid
Definition: ie_iextension.h:174
StatusCode
This enum contains codes for all possible return values of the interface functions.
Definition: ie_common.h:175
std::vector< DataConfig > inConfs
Vector of input data configs.
Definition: ie_iextension.h:64
virtual StatusCode getShapes(const std::vector< TensorDesc > &, std::vector< TensorDesc > &, ResponseDesc *) noexcept
Sets output shapes by input shapes.
Definition: ie_iextension.h:137
This class provides interface for extension factories.
Definition: ie_iextension.h:119
This structure describes data configuration.
Definition: ie_iextension.h:37
This structure describes Layer configuration.
Definition: ie_iextension.h:56
int inPlace
Index of in-place memory. If -1 memory cannot be in-place.
Definition: ie_iextension.h:45
This class defines Tensor description.
Definition: ie_layouts.h:143
Represents detailed information for an error.
Definition: ie_common.h:198
std::vector< DataConfig > outConfs
Vector of output data configs.
Definition: ie_iextension.h:68
a header file for internal Layers structure to describe layers information
TensorDesc desc
Format of memory descriptor.
Definition: ie_iextension.h:41
virtual StatusCode inferShapes(const std::vector< Blob::CPtr > &, const std::map< std::string, std::string > &, const std::map< std::string, Blob::Ptr > &, std::vector< SizeVector > &, ResponseDesc *) noexcept
check that reshape can be applied, that parameters and shapes are valid
Definition: ie_iextension.h:164
The macro defines a symbol import/export mechanism essential for Microsoft Windows(R) OS...
This header file contains aspects of working on different devices like CPU, GEN, FPGA, etc.
This class provides interface for extension implementations.
Definition: ie_iextension.h:74
This is a base abstraction Layer - all DNN Layers inherit from this class.
Definition: ie_layers.h:40
This class represents a custom error listener. Plugin consumers can provide it via InferenceEngine::S...
Definition: ie_error.hpp:16
header file for no_copy class
This class is the reader extension interface to provide implementation for shape propagation.
Definition: ie_iextension.h:185
This class is the main extension interface.
Definition: ie_iextension.h:228
bool constant
Flag for determination of the constant memory. If layer contains all constant memory we can calculate...
Definition: ie_iextension.h:49
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:103
StatusCode CreateShapeInferExtension(IShapeInferExtension *&ext, ResponseDesc *resp) noexcept
Creates the default instance of the shape infer extension.