12 #include "cpp_interfaces/base/ie_infer_async_request_base.hpp"
13 #include "cpp_interfaces/impl/ie_executable_network_internal.hpp"
14 #include "cpp_interfaces/impl/ie_infer_async_request_thread_safe_default.hpp"
15 #include "cpp_interfaces/impl/ie_infer_request_internal.hpp"
26 public std::enable_shared_from_this<ExecutableNetworkThreadSafeDefault> {
31 typedef std::shared_ptr<ExecutableNetworkThreadSafeDefault>
Ptr;
63 template <
typename AsyncInferRequestType = AsyncInferRequestThreadSafeDefault>
68 syncRequestImpl->setPointerToExecutableNetworkInternal(shared_from_this());
70 auto asyncThreadSafeImpl = std::make_shared<AsyncInferRequestType>(
74 asyncThreadSafeImpl->SetPointerToPublicInterface(asyncRequest);
Minimum implementation of IExecutableNetworkInternal interface. Must not be used as a base class in p...
Definition: ie_executable_network_internal.hpp:27
InferenceEngine::InputsDataMap _networkInputs
Holds infromation about network inputs info.
Definition: ie_executable_network_internal.hpp:133
InferenceEngine::OutputsDataMap _networkOutputs
Holds information about network outputs data.
Definition: ie_executable_network_internal.hpp:134
This class provides optimal thread safe default implementation. The class is recommended to be used a...
Definition: ie_executable_network_thread_safe_default.hpp:26
IInferRequest::Ptr CreateInferRequest() override
Given optional implementation of creating asynchronous inference request to avoid need for it to be i...
Definition: ie_executable_network_thread_safe_default.hpp:53
std::shared_ptr< ExecutableNetworkThreadSafeDefault > Ptr
A shared pointer to a ExecutableNetworkThreadSafeDefault object.
Definition: ie_executable_network_thread_safe_default.hpp:31
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.
Definition: ie_executable_network_thread_safe_default.hpp:40
ITaskExecutor::Ptr _taskExecutor
Holds a task executor.
Definition: ie_executable_network_thread_safe_default.hpp:89
IInferRequest::Ptr CreateAsyncInferRequestFromSync()
Creates asyncronous inference request from synchronous request returned by CreateInferRequestImpl.
Definition: ie_executable_network_thread_safe_default.hpp:64
ITaskExecutor::Ptr _callbackExecutor
Holds a callback executor.
Definition: ie_executable_network_thread_safe_default.hpp:90
virtual InferRequestInternal::Ptr CreateInferRequestImpl(InputsDataMap networkInputs, OutputsDataMap networkOutputs)=0
Creates a synchronous inference request object used to infer the network.
std::shared_ptr< IInferRequest > Ptr
std::shared_ptr< ITaskExecutor > Ptr
Definition: ie_itask_executor.hpp:51
Inference request noexcept wrapper which accepts IAsyncInferRequestInternal derived instance which ca...
Definition: ie_infer_async_request_base.hpp:24
std::shared_ptr< InferRequestInternal > Ptr
A shared pointer to a InferRequestInternal implementation.
Definition: ie_infer_request_internal.hpp:37
A header file for Inference Engine CPU-Streams-based Executor implementation.
Inference Engine Plugin API namespace.
std::map< std::string, InputInfo::Ptr > InputsDataMap
std::map< std::string, DataPtr > OutputsDataMap
Defines IStreamsExecutor configuration.
Definition: ie_istreams_executor.hpp:50