Подготовка модели и ее исполнение на бэкенде
Для исполнения модели на бэкенде требуется предварительно создать необходимые объекты платформы и связать их между собой.
Вы можете использовать этот сценарий при разработке прикладных решений.
Сценарий подготовки модели к исполнению состоит из следующих этапов:
- Создание популяций
Для создания популяций вы можете использовать класс
Populationили функции пространства именpopulation. При создании в конструктор популяции или функцию генерации популяции передается генератор нейронов. Если требуется, вы можете удалить сгенерированные нейроны из популяций или добавить в них новые нейроны. - Создание проекций
Для создания проекций вы можете использовать класс
Projectionили функции пространства именprojection. При создании в конструктор проекции или функцию генерации проекции передается генератор синапсов. Если требуется, вы можете удалить сгенерированные синапсы из проекций или добавить в них новые синапсы. - Создание нейронной сети
Создайте экземпляр класса
Network.С помощью методов
add_population()иadd_projection()классаNetworkдобавьте в нейронную сеть созданные ранее популяции и проекции. При необходимости вы можете дополнительно связать между собой популяции, добавленные в нейронную сеть с помощью методаconnect_populations(). - Создание модели
Создайте экземпляр класса
Model. При создании модели передайте в конструктор ранее созданную нейронную сеть.
Сценарий исполнения модели на бэкенде состоит из следующих этапов:
- Загрузка бэкенда
Создайте загрузчик бэкенда с помощью класса
BackendLoader. Для загрузки бэкенда используйте методload(), передав в него путь к динамической библиотеке бэкенда. Метод возвращает указатель на экземпляр бэкендаBackend, который необходимо передать в исполнитель моделейModelExecutor.После загрузки бэкенда автоматически выполняется его инициализация. При инициализации бэкенда автоматически создаются объекты шины сообщений
MessageBusи точек подключений MessageEndpoint к шине сообщений.Если требуется, вы можете исполнить несколько разных моделей на загруженном бэкенде. Вы также можете загрузить несколько бэкендов для исполнения на них одной или нескольких моделей.
- Запуск исполнения модели
Для исполнения модели требуется предварительно создать исполнитель моделей с помощью класса
ModelExecutor. При создании исполнителя моделей передайте в него ранее созданную модельModel, указатель на загруженный экземпляр бэкендаBackendи канал вводаInputChannel. При необходимости создайте наблюдателяMessageObserverи добавьте его в исполнитель моделейModelExecutorдля получения сообщений по подписке.После загрузки модели
Modelв исполнитель моделейModelExecutorавтоматически выполняются следующие шаги:- Выполняется загрузка модели
Modelна бэкендBackend. - Фреймворк создает объекты канала ввода
InputChannelи канала выводаOutputChannelи добавляет их в модельModel. - Бэкенд
Backendавтоматически подписывает объекты модели друг на друга.
Для запуска исполнения модели используйте метод
start(). При исполнении модели на бэкенде передача сообщений до точки подключения через шину сообщений осуществляется автоматически. - Выполняется загрузка модели