31 #if defined(_WIN32) && defined(IMPLEMENT_INFERENCE_EXTENSION_API) 32 #define INFERENCE_EXTENSION_API(TYPE) extern "C" __declspec(dllexport) TYPE 34 #define INFERENCE_EXTENSION_API(TYPE) INFERENCE_ENGINE_API(TYPE) 63 bool constant =
false;
74 bool dynBatchSupport =
false;
89 class INFERENCE_ENGINE_API_CLASS(ILayerImpl) {
94 using Ptr = std::shared_ptr<ILayerImpl>;
106 class INFERENCE_ENGINE_API_CLASS(ILayerExecImpl) :
public ILayerImpl {
111 using Ptr = std::shared_ptr<ILayerExecImpl>;
125 virtual StatusCode getSupportedConfigurations(std::vector<LayerConfig>& conf,
ResponseDesc* resp) noexcept = 0;
144 virtual StatusCode execute(std::vector<Blob::Ptr>& inputs, std::vector<Blob::Ptr>& outputs,
159 IE_SUPPRESS_DEPRECATED_START
160 using Ptr = std::shared_ptr<ILayerImplFactory>;
161 IE_SUPPRESS_DEPRECATED_END
163 using ImplCreator = std::function<ILayerImpl*()>;
177 virtual StatusCode getImplementations(std::vector<ILayerImpl::Ptr>& impls,
ResponseDesc* resp) noexcept = 0;
191 IE_SUPPRESS_DEPRECATED_START
192 using Ptr = std::shared_ptr<IShapeInferImpl>;
193 IE_SUPPRESS_DEPRECATED_END
201 const std::map<std::string, std::string>& ,
202 const std::map<std::string, Blob::Ptr>& ,
204 return NOT_IMPLEMENTED;
224 IE_SUPPRESS_DEPRECATED_START
225 INFERENCE_ENGINE_DEPRECATED(
"IErrorListener is not used anymore. StatusCode is provided in case of unexpected situations")
227 IE_SUPPRESS_DEPRECATED_END
238 virtual void Unload() noexcept = 0;
250 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
251 virtual StatusCode getShapeInferTypes(
char**& types,
unsigned int& size,
ResponseDesc* resp) noexcept = 0;
263 IE_SUPPRESS_DEPRECATED_START
264 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
266 IE_SUPPRESS_DEPRECATED_END
269 IE_SUPPRESS_DEPRECATED_START_WIN
285 IE_SUPPRESS_DEPRECATED_START
286 INFERENCE_ENGINE_DEPRECATED(
"Use IExtension::getImplementation to get a concrete implementation")
292 return NOT_IMPLEMENTED;
294 IE_SUPPRESS_DEPRECATED_END
306 INFERENCE_ENGINE_DEPRECATED(
"Use IExtension::getImplTypes to get implementation types for a particular node")
311 return NOT_IMPLEMENTED;
314 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
316 return NOT_IMPLEMENTED;
319 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
321 return NOT_IMPLEMENTED;
329 virtual std::map<std::string, ngraph::OpSet> getOpSets();
336 virtual std::vector<std::string>
getImplTypes(
const std::shared_ptr<ngraph::Node>& node) {
354 IE_SUPPRESS_DEPRECATED_END_WIN
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:186
A header file that provides versioning information for the inference engine shared library...
A header file for a plugin logging mechanism.
Inference Engine API.
Definition: ie_argmax_layer.hpp:15
Represents version information that describes plugins and the inference engine runtime library...
Definition: ie_version.hpp:21
std::shared_ptr< IShapeInferExtension > IShapeInferExtensionPtr
A shared pointer to a IShapeInferExtension interface.
Definition: ie_iextension.h:366
std::vector< DataConfig > inConfs
Vector of input data configs.
Definition: ie_iextension.h:78
This class provides interface for extension factories.
Definition: ie_iextension.h:154
A header file for Blob and generic TBlob<>
This structure describes data configuration.
Definition: ie_iextension.h:50
This structure describes Layer configuration.
Definition: ie_iextension.h:70
StatusCode CreateExtension(IExtension *&ext, ResponseDesc *resp) noexcept
Creates the default instance of the extension.
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:347
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:153
virtual std::vector< std::string > getImplTypes(const std::shared_ptr< ngraph::Node > &node)
Returns vector of implementation types.
Definition: ie_iextension.h:336
Represents detailed information for an error.
Definition: ie_common.h:247
StatusCode
This enum contains codes for all possible return values of the interface functions.
Definition: ie_common.h:224
std::vector< DataConfig > outConfs
Vector of output data configs.
Definition: ie_iextension.h:82
a header file for internal Layers structure to describe layers information
TensorDesc desc
Format of memory descriptor.
Definition: ie_iextension.h:54
A header file for data layouts and conversion between them.
Definition: ie_cnn_network.h:27
std::shared_ptr< IExtension > IExtensionPtr
A shared pointer to a IExtension interface.
Definition: ie_iextension.h:359
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:200
The macro defines a symbol import/export mechanism essential for Microsoft Windows(R) OS...
std::shared_ptr< IShapeInferImpl > Ptr
A shared pointer to a IShapeInferImpl object.
Definition: ie_iextension.h:192
std::shared_ptr< ILayerImpl > Ptr
A shared pointer to the ILayerImpl interface.
Definition: ie_iextension.h:94
This class provides interface for extension implementations.
Definition: ie_iextension.h:89
std::string type
Layer type.
Definition: ie_layers.h:47
This class represents a custom error listener.
Definition: ie_error.hpp:18
header file for no_copy class
std::shared_ptr< ILayerImplFactory > Ptr
A shared pointer to the ILayerImplFactory interface.
Definition: ie_iextension.h:160
This class is the reader extension interface to provide implementation for shape propagation.
Definition: ie_iextension.h:213
This class is the main extension interface.
Definition: ie_iextension.h:274
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:106
This is a header file with common inference engine definitions.