This section provides a high-level description of the process of querying of different device properties and configuration values. Refer to the Hello Query Device Sample sources and Multi-Device Plugin guide for example of using the Inference Engine Query API in user applications.
The Inference Engine Core
class provides the following API to query device information, set or get different device configuration properties:
InferenceEngine::Core::GetAvailableDevices
- Provides a list of available devices. If there are more than one instance of a specific device, the devices are enumerated with .suffix
where suffix
is a unique string identifier. The device name can be passed to all methods of the InferenceEngine::Core
class that work with devices, for example InferenceEngine::Core::LoadNetwork
.InferenceEngine::Core::GetMetric
- Provides information about specific device. InferenceEngine::Core::GetConfig
- Gets the current value of a specific configuration key.InferenceEngine::Core::SetConfig
- Sets a new value for the configuration key.The InferenceEngine::ExecutableNetwork
class is also extended to support the Query API:
InferenceEngine::ExecutableNetwork::GetMetric
InferenceEngine::ExecutableNetwork::GetConfig
InferenceEngine::ExecutableNetwork::SetConfig
The function returns list of available devices, for example:
Each device name can then be passed to:
InferenceEngine::Core::LoadNetwork
to load the network to a specific device.InferenceEngine::Core::GetMetric
to get common or device specific metrics.Core
class that accept deviceName
.The code below demonstrates how to understand whether HETERO
device dumps .dot
files with split graphs during the split stage:
For documentation about common configuration keys, refer to ie_plugin_config.hpp
. Device specific configuration keys can be found in corresponding plugin folders.
InferenceEngine::Core::GetMetric
method:A returned value looks as follows: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
.
NOTE: All metrics have specific type, which is specified during metric instantiation. The list of common device-agnostic metrics can be found in
ie_plugin_config.hpp
. Device specific metrics (for example, forHDDL
,MYRIAD
devices) can be found in corresponding plugin folders.
The method is used to get executable network specific metric such as METRIC_KEY(OPTIMAL_NUMBER_OF_INFER_REQUESTS)
:
Or the current temperature of MYRIAD
device:
The method is used to get information about configuration values the executable network has been created with:
The only device that supports this method is Multi-Device.