24#include <knp/core/impexp.h>
34#include <unordered_map>
57 knp::framework::Model &model, std::shared_ptr<core::Backend> backend, ModelLoader::InputChannelMap i_map)
58 : loader_(backend, i_map)
73 void start(core::Backend::RunPredicate run_predicate);
87 template <
class Message>
88 void add_observer(monitoring::MessageProcessor<Message> &&message_processor,
const std::vector<core::UID> &senders)
90 observers_.emplace_back(monitoring::MessageObserver<Message>(
91 get_backend()->get_message_bus().create_endpoint(), std::move(message_processor), core::UID{
true}));
93 std::visit([&senders](
auto &entity) { entity.subscribe(senders); }, observers_.back());
110 std::shared_ptr<core::Backend>
get_backend() {
return loader_.get_backend(); }
119 knp::core::BaseData base_;
122 std::vector<monitoring::AnyObserverVariant> observers_;
Backend loader interface.
The ModelExecutor class is a definition of an executor that runs the uploaded model on the specified ...
void stop_learning()
Lock synapse weights.
std::shared_ptr< core::Backend > get_backend()
Get pointer to backend object.
void add_observer(monitoring::MessageProcessor< Message > &&message_processor, const std::vector< core::UID > &senders)
Add observer to executor.
ModelExecutor(knp::framework::Model &model, std::shared_ptr< core::Backend > backend, ModelLoader::InputChannelMap i_map)
ModelExecutor constructor.
void start_learning()
Unlock synapse weights.
auto & get_loader()
Get model loader object.
void stop()
Stop model execution.
void start()
Start model execution.
void start(core::Backend::RunPredicate run_predicate)
Start model execution.
Observer class that unloads messages and stores them.