28 class SOCreatorTrait<IExtension> {
33 static constexpr
auto name =
"CreateExtension";
41 class INFERENCE_ENGINE_DEPRECATED("Implement IExtension") SOCreatorTrait<IShapeInferExtension> {
46 static constexpr
auto name =
"CreateShapeInferExtension";
54 IE_SUPPRESS_DEPRECATED_START_WIN
55 class INFERENCE_ENGINE_API_CLASS(Extension) :
public IExtension {
70 actual->GetVersion(versionInfo);
79 IE_SUPPRESS_DEPRECATED_START
80 INFERENCE_ENGINE_DEPRECATED(
"IErrorListener is not used anymore. StatusCode is provided in case of unexpected situations")
82 actual->SetLogCallback(listener);
84 IE_SUPPRESS_DEPRECATED_END
107 INFERENCE_ENGINE_DEPRECATED(
"Use IExtension::getImplTypes to get implementation types for a particular node")
109 IE_SUPPRESS_DEPRECATED_START
110 return actual->getPrimitiveTypes(types, size, resp);
111 IE_SUPPRESS_DEPRECATED_END
123 IE_SUPPRESS_DEPRECATED_START
124 INFERENCE_ENGINE_DEPRECATED(
"Use IExtension::getImplementation to get a concrete implementation")
127 return actual->getFactoryFor(factory, cnnLayer, resp);
129 IE_SUPPRESS_DEPRECATED_END
140 IE_SUPPRESS_DEPRECATED_START
141 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
143 return actual->getShapeInferImpl(impl,
type, resp);
145 IE_SUPPRESS_DEPRECATED_END
156 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
158 IE_SUPPRESS_DEPRECATED_START
159 return actual->getShapeInferTypes(types, size, resp);
160 IE_SUPPRESS_DEPRECATED_END
168 std::map<std::string, ngraph::OpSet> getOpSets()
override;
175 std::vector<std::string>
getImplTypes(
const std::shared_ptr<ngraph::Node>& node)
override {
176 return actual->getImplTypes(node);
186 return actual->getImplementation(node, implType);
193 InferenceEngine::details::SOPointer<IExtension>
actual;
216 actual->GetVersion(versionInfo);
225 IE_SUPPRESS_DEPRECATED_START
226 INFERENCE_ENGINE_DEPRECATED(
"IErrorListener is not used anymore. StatusCode is provided in case of unexpected situations")
228 actual->SetLogCallback(listener);
230 IE_SUPPRESS_DEPRECATED_END
244 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
246 IE_SUPPRESS_DEPRECATED_START
247 return actual->getShapeInferTypes(types, size, resp);
248 IE_SUPPRESS_DEPRECATED_END
251 INFERENCE_ENGINE_DEPRECATED(
"Implement ngraph::op::Op::validate_and_infer_types method in a custom ngraph operation")
253 IE_SUPPRESS_DEPRECATED_START
254 return actual->getShapeInferImpl(impl,
type, resp);
255 IE_SUPPRESS_DEPRECATED_END
262 InferenceEngine::details::SOPointer<IShapeInferExtension>
actual;
264 IE_SUPPRESS_DEPRECATED_END_WIN
275 IE_SUPPRESS_DEPRECATED_START
276 return std::make_shared<ShapeInferExtension>(
name);
277 IE_SUPPRESS_DEPRECATED_END
288 return std::make_shared<Extension>(
name);
ShapeInferExtension(const file_name_t &name)
Loads extension from a shared library.
Definition: ie_extension.h:208
This class provides interface for the implementation with the custom execution code.
Definition: ie_iextension.h:184
void Release() noexcept override
Does nothing since destruction is done via the regular mechanism.
Definition: ie_extension.h:96
InferenceEngine::details::SOPointer< IShapeInferExtension > actual
A SOPointer instance to the loaded templated object.
Definition: ie_extension.h:262
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::string name
Layer name.
Definition: ie_layers.h:42
InferenceEngine::details::SOPointer< IExtension > actual
A SOPointer instance to the loaded templated object.
Definition: ie_extension.h:193
This class provides interface for extension factories.
Definition: ie_iextension.h:153
Extension(const file_name_t &name)
Loads extension from a shared library.
Definition: ie_extension.h:62
void Unload() noexcept override
Cleans the resources up.
Definition: ie_extension.h:89
void Release() noexcept override
Does nothing since destruction is done via the regular mechanism.
Definition: ie_extension.h:242
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
void Unload() noexcept override
Cleans the resources up.
Definition: ie_extension.h:235
std::vector< std::string > getImplTypes(const std::shared_ptr< ngraph::Node > &node) override
Returns vector of implementation types.
Definition: ie_extension.h:175
This is a header file for Inference Engine Extension Interface.
std::shared_ptr< ILayerImpl > Ptr
A shared pointer to the ILayerImpl interface.
Definition: ie_iextension.h:94
void GetVersion(const InferenceEngine::Version *&versionInfo) const noexcept override
Gets the extension version information.
Definition: ie_extension.h:215
void GetVersion(const InferenceEngine::Version *&versionInfo) const noexcept override
Gets the extension version information.
Definition: ie_extension.h:69
This class is a C++ helper to work with objects created using extensions.
Definition: ie_extension.h:200
std::string type
Layer type.
Definition: ie_layers.h:47
This class represents a custom error listener.
Definition: ie_error.hpp:17
This is a wrapper class for handling plugin instantiation and releasing resources.
This class is the reader extension interface to provide implementation for shape propagation.
Definition: ie_iextension.h:211
This class is the main extension interface.
Definition: ie_iextension.h:270
ILayerImpl::Ptr getImplementation(const std::shared_ptr< ngraph::Node > &node, const std::string &implType) override
Returns implementation for specific nGraph op.
Definition: ie_extension.h:185
std::shared_ptr< T > make_so_pointer(const file_name_t &name)=delete
Creates a special shared_pointer wrapper for the given type from a specific shared module...
Definition: ie_extension.h:274
This class is a C++ helper to work with objects created using extensions.
Definition: ie_extension.h:55