Public Member Functions
InferenceEngine::IInferencePlugin Class Referenceabstract

This class is a main plugin interface. More...

#include <ie_plugin.hpp>

Inheritance diagram for InferenceEngine::IInferencePlugin:
Inheritance graph
[legend]
Collaboration diagram for InferenceEngine::IInferencePlugin:
Collaboration graph
[legend]

Public Member Functions

virtual void GetVersion (const Version *&versionInfo) noexcept=0
 Returns plugin version information. More...
 
virtual void SetLogCallback (IErrorListener &listener) noexcept=0
 Sets logging callback Logging is used to track what is going on inside. More...
 
virtual StatusCode LoadNetwork (ICNNNetwork &network, ResponseDesc *resp) noexcept=0
 Loads a pre-built network with weights to the engine. In case of success the plugin will be ready to infer. More...
 
virtual StatusCode LoadNetwork (IExecutableNetwork::Ptr &ret, ICNNNetwork &network, const std::map< std::string, std::string > &config, ResponseDesc *resp) noexcept=0
 Creates an executable network from a network object. User can create as many networks as they need and use them simultaneously (up to the limitation of the hardware resources) More...
 
virtual StatusCode ImportNetwork (IExecutableNetwork::Ptr &ret, const std::string &modelFileName, const std::map< std::string, std::string > &config, ResponseDesc *resp) noexcept=0
 Creates an executable network from a previously exported network. More...
 
virtual StatusCode Infer (const Blob &input, Blob &result, ResponseDesc *resp) noexcept=0
 Infers an image(s). Input and output dimensions depend on the topology. As an example for classification topologies use a 4D Blob as input (batch, channels, width, height) and get a 1D blob as output (scoring probability vector). To Infer a batch, use a 4D Blob as input and get a 2D blob as output in both cases the method will allocate the resulted blob. More...
 
virtual StatusCode Infer (const BlobMap &input, BlobMap &result, ResponseDesc *resp) noexcept=0
 Infers tensors. Input and output dimensions depend on the topology. As an example for classification topologies use a 4D Blob as input (batch, channels, width, height) and get a 1D blob as output (scoring probability vector). To Infer a batch, use a 4D Blob as input and get a 2D blob as output in both cases the method will allocate the resulted blob. More...
 
virtual StatusCode GetPerformanceCounts (std::map< std::string, InferenceEngineProfileInfo > &perfMap, ResponseDesc *resp) const noexcept=0
 Queries performance measures per layer to get feedback of what is the most time consuming layer Note: not all plugins provide meaningful data. More...
 
virtual StatusCode AddExtension (InferenceEngine::IExtensionPtr extension, InferenceEngine::ResponseDesc *resp) noexcept=0
 Registers extension within the plugin. More...
 
virtual StatusCode SetConfig (const std::map< std::string, std::string > &config, ResponseDesc *resp) noexcept=0
 Sets configuration for plugin, acceptable keys can be found in ie_plugin_config.hpp. More...
 
virtual void QueryNetwork (const ICNNNetwork &, QueryNetworkResult &res) const noexcept
 Query plugin if it supports specified network. More...
 
virtual void QueryNetwork (const ICNNNetwork &, const std::map< std::string, std::string > &, QueryNetworkResult &res) const noexcept
 Query plugin if it supports specified network with specified configuration. More...
 

Detailed Description

This class is a main plugin interface.

Member Function Documentation

§ AddExtension()

virtual StatusCode InferenceEngine::IInferencePlugin::AddExtension ( InferenceEngine::IExtensionPtr  extension,
InferenceEngine::ResponseDesc resp 
)
pure virtualnoexcept

Registers extension within the plugin.

Parameters
extensionPointer to already loaded extension
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ GetPerformanceCounts()

virtual StatusCode InferenceEngine::IInferencePlugin::GetPerformanceCounts ( std::map< std::string, InferenceEngineProfileInfo > &  perfMap,
ResponseDesc resp 
) const
pure virtualnoexcept

Queries performance measures per layer to get feedback of what is the most time consuming layer Note: not all plugins provide meaningful data.

Deprecated:
Use IInferRequest to get performance measures
Parameters
perfMapMap of layer names to profiling information for that layer
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ GetVersion()

virtual void InferenceEngine::IInferencePlugin::GetVersion ( const Version *&  versionInfo)
pure virtualnoexcept

Returns plugin version information.

Parameters
versionInfoPointer to version info. Is set by plugin

§ ImportNetwork()

virtual StatusCode InferenceEngine::IInferencePlugin::ImportNetwork ( IExecutableNetwork::Ptr ret,
const std::string &  modelFileName,
const std::map< std::string, std::string > &  config,
ResponseDesc resp 
)
pure virtualnoexcept

Creates an executable network from a previously exported network.

Parameters
retReference to a shared ptr of the returned network interface
modelFileNamePath to the location of the exported file
configMap of pairs: (config parameter name, config parameter value) relevant only for this load operation*
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ Infer() [1/2]

virtual StatusCode InferenceEngine::IInferencePlugin::Infer ( const Blob input,
Blob result,
ResponseDesc resp 
)
pure virtualnoexcept

Infers an image(s). Input and output dimensions depend on the topology. As an example for classification topologies use a 4D Blob as input (batch, channels, width, height) and get a 1D blob as output (scoring probability vector). To Infer a batch, use a 4D Blob as input and get a 2D blob as output in both cases the method will allocate the resulted blob.

Deprecated:
Load IExecutableNetwork to create IInferRequest
Parameters
inputAny TBlob<> object that contains the data to infer. The type of TBlob must match the network input precision and size.
resultRelated TBlob<> object that contains the result of the inference action, typically this is a float blob. The blob does not need to be allocated or initialized, the engine allocates the relevant data.
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ Infer() [2/2]

virtual StatusCode InferenceEngine::IInferencePlugin::Infer ( const BlobMap input,
BlobMap result,
ResponseDesc resp 
)
pure virtualnoexcept

Infers tensors. Input and output dimensions depend on the topology. As an example for classification topologies use a 4D Blob as input (batch, channels, width, height) and get a 1D blob as output (scoring probability vector). To Infer a batch, use a 4D Blob as input and get a 2D blob as output in both cases the method will allocate the resulted blob.

Deprecated:
Load IExecutableNetwork to create IInferRequest.
Parameters
inputMap of input blobs accessed by input names
resultMap of output blobs accessed by output names
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ LoadNetwork() [1/2]

virtual StatusCode InferenceEngine::IInferencePlugin::LoadNetwork ( ICNNNetwork network,
ResponseDesc resp 
)
pure virtualnoexcept

Loads a pre-built network with weights to the engine. In case of success the plugin will be ready to infer.

Deprecated:
Use IInferencePlugin::LoadNetwork(IExecutableNetwork::Ptr &, ICNNNetwork &, const std::map<std::string, std::string> &, ResponseDesc *)
Parameters
networkNetwork object acquired from CNNNetReader
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ LoadNetwork() [2/2]

virtual StatusCode InferenceEngine::IInferencePlugin::LoadNetwork ( IExecutableNetwork::Ptr ret,
ICNNNetwork network,
const std::map< std::string, std::string > &  config,
ResponseDesc resp 
)
pure virtualnoexcept

Creates an executable network from a network object. User can create as many networks as they need and use them simultaneously (up to the limitation of the hardware resources)

Parameters
retReference to a shared ptr of the returned network interface
networkNetwork object acquired from CNNNetReader
configMap of pairs: (config parameter name, config parameter value) relevant only for this load operation
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ QueryNetwork() [1/2]

virtual void InferenceEngine::IInferencePlugin::QueryNetwork ( const ICNNNetwork ,
QueryNetworkResult res 
) const
inlinevirtualnoexcept

Query plugin if it supports specified network.

Deprecated:
Use IInferencePlugin::QueryNetwork(const ICNNNetwork&, const std::map<std::string, std::string> &, QueryNetworkResult&) const
Parameters
networkNetwork object to query
resReference to query network result

§ QueryNetwork() [2/2]

virtual void InferenceEngine::IInferencePlugin::QueryNetwork ( const ICNNNetwork ,
const std::map< std::string, std::string > &  ,
QueryNetworkResult res 
) const
inlinevirtualnoexcept

Query plugin if it supports specified network with specified configuration.

Parameters
networkNetwork object to query
configMap of pairs: (config parameter name, config parameter value)
resReference to query network result

§ SetConfig()

virtual StatusCode InferenceEngine::IInferencePlugin::SetConfig ( const std::map< std::string, std::string > &  config,
ResponseDesc resp 
)
pure virtualnoexcept

Sets configuration for plugin, acceptable keys can be found in ie_plugin_config.hpp.

Parameters
configMap of pairs: (config parameter name, config parameter value)
respPointer to the response message that holds a description of an error if any occurred
Returns
Status code of the operation. OK if succeeded

§ SetLogCallback()

virtual void InferenceEngine::IInferencePlugin::SetLogCallback ( IErrorListener listener)
pure virtualnoexcept

Sets logging callback Logging is used to track what is going on inside.

Parameters
listenerLogging sink

The documentation for this class was generated from the following file: