class InferenceEngine::ExecutableNetworkThreadSafeDefault¶
Overview¶
This class provides optimal thread safe default implementation. The class is recommended to be used as a base class for Executable Network implementation during plugin development. More…
#include <ie_executable_network_thread_safe_default.hpp>
class ExecutableNetworkThreadSafeDefault: public InferenceEngine::IExecutableNetworkInternal
{
public:
// typedefs
typedef std::shared_ptr<ExecutableNetworkThreadSafeDefault> Ptr;
// construction
ExecutableNetworkThreadSafeDefault(
const ITaskExecutor::Ptr& taskExecutor = std::make_shared<CPUStreamsExecutor>(IStreamsExecutor::Config{ "Default"}),
const ITaskExecutor::Ptr& callbackExecutor = std::make_shared<CPUStreamsExecutor>(IStreamsExecutor::Config{ "Callback"})
);
// methods
virtual IInferRequestInternal::Ptr CreateInferRequest();
};
Inherited Members¶
public:
// typedefs
typedef std::shared_ptr<IExecutableNetworkInternal> Ptr;
// methods
virtual void setNetworkInputs(const InputsDataMap& networkInputs);
virtual void setNetworkOutputs(const OutputsDataMap& networkOutputs);
virtual void setInputs(const std::vector<std::shared_ptr<const ov::Node>>& params);
virtual const std::vector<std::shared_ptr<const ov::Node>>& getInputs() const;
virtual void setOutputs(const std::vector<std::shared_ptr<const ov::Node>>& results);
virtual const std::vector<std::shared_ptr<const ov::Node>>& getOutputs() const;
virtual ConstOutputsDataMap GetOutputsInfo() const;
virtual ConstInputsDataMap GetInputsInfo() const;
virtual std::shared_ptr<IInferRequestInternal> CreateInferRequest();
virtual void Export(const std::string& modelFileName);
virtual void Export(std::ostream& networkModel);
virtual std::shared_ptr<ngraph::Function> GetExecGraphInfo();
virtual void SetPointerToPlugin(const std::shared_ptr<IInferencePlugin>& plugin);
virtual std::shared_ptr<void> GetPointerToSo();
virtual void SetConfig(const std::map<std::string, Parameter>& config);
virtual Parameter GetConfig(const std::string& name) const;
virtual Parameter GetMetric(const std::string& name) const;
virtual std::shared_ptr<RemoteContext> GetContext() const;
Detailed Documentation¶
This class provides optimal thread safe default implementation. The class is recommended to be used as a base class for Executable Network implementation during plugin development.
Typedefs¶
typedef std::shared_ptr<ExecutableNetworkThreadSafeDefault> Ptr
A shared pointer to a ExecutableNetworkThreadSafeDefault object.
Construction¶
ExecutableNetworkThreadSafeDefault(
const ITaskExecutor::Ptr& taskExecutor = std::make_shared<CPUStreamsExecutor>(IStreamsExecutor::Config{ "Default"}),
const ITaskExecutor::Ptr& callbackExecutor = std::make_shared<CPUStreamsExecutor>(IStreamsExecutor::Config{ "Callback"})
)
Constructs a new instance.
Parameters:
taskExecutor |
The task executor used |
callbackExecutor |
The callback executor |
Methods¶
virtual IInferRequestInternal::Ptr CreateInferRequest()
Given optional implementation of creating asynchronous inference request to avoid need for it to be implemented by plugin.
Returns:
shared_ptr for the created asynchronous inference request