27 #if defined(_WIN32) && defined(IMPLEMENT_INFERENCE_EXTENSION_API)
28 #define INFERENCE_EXTENSION_API(TYPE) extern "C" __declspec(dllexport) TYPE
30 #define INFERENCE_EXTENSION_API(TYPE) INFERENCE_ENGINE_API(TYPE)
63 bool dynBatchSupport =
false;
79 using Ptr = std::shared_ptr<ILayerImpl>;
92 virtual StatusCode getSupportedConfigurations(std::vector<LayerConfig>& conf,
ResponseDesc* resp) noexcept = 0;
115 virtual StatusCode execute(std::vector<Blob::Ptr>& inputs, std::vector<Blob::Ptr>& outputs,
124 using Ptr = std::shared_ptr<ILayerImplFactory>;
125 using ImplCreator = std::function<ILayerImpl*()>;
138 virtual StatusCode getImplementations(std::vector<ILayerImpl::Ptr>& impls,
ResponseDesc* resp) noexcept = 0;
147 using Ptr = std::shared_ptr<IShapeInferImpl>;
155 const std::map<std::string, std::string>& ,
156 const std::map<std::string, Blob::Ptr>& ,
158 return NOT_IMPLEMENTED;
184 virtual void Unload() noexcept = 0;
193 virtual StatusCode getShapeInferTypes(
char**& types,
unsigned int& size,
ResponseDesc* resp) noexcept = 0;
201 virtual StatusCode getShapeInferImpl(IShapeInferImpl::Ptr& impl,
const char* type,
ResponseDesc* resp) noexcept = 0;
222 return NOT_IMPLEMENTED;
226 return NOT_IMPLEMENTED;
230 using IExtensionPtr = std::shared_ptr<IExtension>;
231 using IShapeInferExtensionPtr = std::shared_ptr<IShapeInferExtension>;
#define INFERENCE_EXTENSION_API(TYPE)
Defines Inference Engine Extension API method.
Definition: ie_iextension.h:30
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:145
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:221
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:225
Inference Engine API.
Definition: ie_argmax_layer.hpp:11
Represents version information that describes plugins and the inference engine runtime library...
Definition: ie_version.hpp:20
std::vector< DataConfig > inConfs
Vector of input data configs.
Definition: ie_iextension.h:67
This class provides interface for extension factories.
Definition: ie_iextension.h:122
This structure describes data configuration.
Definition: ie_iextension.h:39
This structure describes Layer configuration.
Definition: ie_iextension.h:59
StatusCode CreateExtension(IExtension *&ext, ResponseDesc *resp) noexcept
Creates the default instance of the extension.
int inPlace
Index of in-place memory. If -1 memory cannot be in-place.
Definition: ie_iextension.h:47
StatusCode CreateShapeInferExtension(IShapeInferExtension *&ext, ResponseDesc *resp) noexcept
Creates the default instance of the shape infer extension.
This class defines Tensor description.
Definition: ie_layouts.h:140
Represents detailed information for an error.
Definition: ie_common.h:235
StatusCode
This enum contains codes for all possible return values of the interface functions.
Definition: ie_common.h:212
std::vector< DataConfig > outConfs
Vector of output data configs.
Definition: ie_iextension.h:71
a header file for internal Layers structure to describe layers information
TensorDesc desc
Format of memory descriptor.
Definition: ie_iextension.h:43
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:154
The macro defines a symbol import/export mechanism essential for Microsoft Windows(R) OS...
This class provides interface for extension implementations.
Definition: ie_iextension.h:77
This is a base abstraction Layer - all DNN Layers inherit from this class.
Definition: ie_layers.h:41
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:166
This class is the main extension interface.
Definition: ie_iextension.h:207
bool constant
Flag for determination of the constant memory. If layer contains all constant memory we can calculate...
Definition: ie_iextension.h:52
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:106