Class InferenceEngine::IExecutableNetwork¶
-
class IExecutableNetwork : public std::enable_shared_from_this<IExecutableNetwork>¶
This is an interface of an executable network.
Public Types
-
using Ptr = std::shared_ptr<IExecutableNetwork>¶
A smart pointer to the current IExecutableNetwork object.
Public Functions
-
virtual StatusCode GetOutputsInfo(ConstOutputsDataMap &out, ResponseDesc *resp) const noexcept = 0¶
Gets the Executable network output Data node information.
The received info is stored in the given InferenceEngine::ConstOutputsDataMap node. This method need to be called to find output names for using them later when calling InferenceEngine::InferRequest::GetBlob or InferenceEngine::InferRequest::SetBlob
- Parameters
out – Reference to the InferenceEngine::ConstOutputsDataMap object
resp – Optional: pointer to an already allocated object to contain information in case of failure
- Returns
Status code of the operation: InferenceEngine::OK (0) for success
-
virtual StatusCode GetInputsInfo(ConstInputsDataMap &inputs, ResponseDesc *resp) const noexcept = 0¶
Gets the executable network input Data node information.
The received info is stored in the given InferenceEngine::ConstInputsDataMap object. This method need to be called to find out input names for using them later when calling InferenceEngine::InferRequest::SetBlob
- Parameters
inputs – Reference to InferenceEngine::ConstInputsDataMap object.
resp – Optional: pointer to an already allocated object to contain information in case of failure
- Returns
Status code of the operation: InferenceEngine::OK (0) for success
-
virtual StatusCode CreateInferRequest(IInferRequest::Ptr &req, ResponseDesc *resp) noexcept = 0¶
Creates an inference request object used to infer the network.
The created request has allocated input and output blobs (that can be changed later).
- Parameters
req – Shared pointer to the created request object
resp – Optional: pointer to an already allocated object to contain information in case of failure
- Returns
Status code of the operation: InferenceEngine::OK (0) for success
-
virtual StatusCode Export(const std::string &modelFileName, ResponseDesc *resp) noexcept = 0¶
Exports the current executable network.
See also
- Parameters
modelFileName – Full path to the location of the exported file
resp – Optional: pointer to an already allocated object to contain information in case of failure
- Returns
Status code of the operation: InferenceEngine::OK (0) for success
-
virtual StatusCode Export(std::ostream &networkModel, ResponseDesc *resp) noexcept = 0¶
Exports the current executable network.
See also
- Parameters
networkModel – Network model output stream
resp – Optional: pointer to an already allocated object to contain information in case of failure
- Returns
Status code of the operation: InferenceEngine::OK (0) for success
-
virtual StatusCode GetExecGraphInfo(ICNNNetwork::Ptr &graphPtr, ResponseDesc *resp) noexcept = 0¶
Get executable graph information from a device.
- Deprecated:
Use InferenceEngine::ExecutableNetwork::GetExecGraphInfo instead
- Parameters
graphPtr – network ptr to store executable graph information
resp – Optional: pointer to an already allocated object to contain information in case of failure
- Returns
Status code of the operation: InferenceEngine::OK (0) for success
-
virtual StatusCode SetConfig(const std::map<std::string, Parameter> &config, ResponseDesc *resp) noexcept = 0¶
Sets configuration for current executable network.
- Parameters
config – Map of pairs: (config parameter name, config parameter value)
resp – Pointer to the response message that holds a description of an error if any occurred
- Returns
code of the operation. InferenceEngine::OK if succeeded
-
virtual StatusCode GetConfig(const std::string &name, Parameter &result, ResponseDesc *resp) const noexcept = 0¶
Gets configuration for current executable network.
The method is responsible to extract information which affects executable network execution. The list of supported configuration values can be extracted via ExecutableNetwork::GetMetric with the SUPPORTED_CONFIG_KEYS key, but some of these keys cannot be changed dynamically, e.g. DEVICE_ID cannot changed if an executable network has already been compiled for particular device.
- Parameters
name – config key, can be found in ie_plugin_config.hpp
result – value of config corresponding to config key
resp – Pointer to the response message that holds a description of an error if any occurred
- Returns
code of the operation. InferenceEngine::OK if succeeded
-
virtual StatusCode GetMetric(const std::string &name, Parameter &result, ResponseDesc *resp) const noexcept = 0¶
Gets general runtime metric for an executable network.
It can be network name, actual device ID on which executable network is running or all other properties which cannot be changed dynamically.
- Parameters
name – metric name to request
result – metric value corresponding to metric key
resp – Pointer to the response message that holds a description of an error if any occurred
- Returns
code of the operation. InferenceEngine::OK if succeeded
-
virtual StatusCode GetContext(RemoteContext::Ptr &pContext, ResponseDesc *resp) const noexcept = 0¶
Gets shared context used to create an executable network.
- Parameters
pContext – Reference to a pointer that will receive resulting shared context object ptr
resp – Pointer to the response message that holds a description of an error if any occurred
- Returns
code of the operation. InferenceEngine::OK if succeeded
-
using Ptr = std::shared_ptr<IExecutableNetwork>¶