28 #if defined(_WIN32) && defined(IMPLEMENT_INFERENCE_EXTENSION_API)
29 # define INFERENCE_EXTENSION_API(TYPE) extern "C" __declspec(dllexport) TYPE
31 # define INFERENCE_EXTENSION_API(TYPE) INFERENCE_ENGINE_API(TYPE)
64 bool dynBatchSupport =
false;
80 using Ptr = std::shared_ptr<ILayerImpl>;
93 virtual StatusCode getSupportedConfigurations(std::vector<LayerConfig>& conf,
ResponseDesc* resp) noexcept = 0;
116 virtual StatusCode execute(std::vector<Blob::Ptr>& inputs,
117 std::vector<Blob::Ptr>& outputs,
ResponseDesc* resp) noexcept = 0;
125 using Ptr = std::shared_ptr<ILayerImplFactory>;
126 using ImplCreator = std::function<ILayerImpl*()>;
141 INFERENCE_ENGINE_DEPRECATED
144 return NOT_IMPLEMENTED;
153 virtual StatusCode getImplementations(std::vector<ILayerImpl::Ptr>& impls,
ResponseDesc* resp) noexcept = 0;
162 using Ptr = std::shared_ptr<IShapeInferImpl>;
170 const std::map<std::string, std::string>& ,
171 const std::map<std::string, Blob::Ptr>& ,
172 std::vector<SizeVector>& ,
180 INFERENCE_ENGINE_DEPRECATED
182 const std::map<std::string, std::string>& ,
183 const std::map<std::string, Blob::Ptr>& ,
184 std::vector<SizeVector>& ,
186 return NOT_IMPLEMENTED;
212 virtual void Unload() noexcept = 0;
221 virtual StatusCode getShapeInferTypes(
char**& types,
unsigned int& size,
ResponseDesc* resp) noexcept = 0;
229 virtual StatusCode getShapeInferImpl(IShapeInferImpl::Ptr& impl,
252 return NOT_IMPLEMENTED;
256 return NOT_IMPLEMENTED;
260 using IExtensionPtr = std::shared_ptr<IExtension>;
261 using IShapeInferExtensionPtr = std::shared_ptr<IShapeInferExtension>;
#define INFERENCE_EXTENSION_API(TYPE)
Defines Inference Engine Extension API method.
Definition: ie_iextension.h:31
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:160
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:251
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:255
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
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:181
std::vector< DataConfig > inConfs
Vector of input data configs.
Definition: ie_iextension.h:68
virtual StatusCode getShapes(const std::vector< TensorDesc > &, std::vector< TensorDesc > &, ResponseDesc *) noexcept
Sets output shapes by input shapes.
Definition: ie_iextension.h:142
This class provides interface for extension factories.
Definition: ie_iextension.h:123
This structure describes data configuration.
Definition: ie_iextension.h:41
This structure describes Layer configuration.
Definition: ie_iextension.h:60
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:49
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:143
Represents detailed information for an error.
Definition: ie_common.h:230
StatusCode
This enum contains codes for all possible return values of the interface functions.
Definition: ie_common.h:207
std::vector< DataConfig > outConfs
Vector of output data configs.
Definition: ie_iextension.h:72
a header file for internal Layers structure to describe layers information
TensorDesc desc
Format of memory descriptor.
Definition: ie_iextension.h:45
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:169
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:78
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:194
This class is the main extension interface.
Definition: ie_iextension.h:237
bool constant
Flag for determination of the constant memory. If layer contains all constant memory we can calculate...
Definition: ie_iextension.h:53
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:107