Обмен данными в Kaspersky Neuromorphic Platform

26 декабря 2025

ID 244427

При работе с исходным кодом необходимо учитывать особенности механизма обмена данными в платформе.

Kaspersky Neuromorphic Platform обеспечивает обмен данными между популяциями и проекциями, а также между другими объектами платформы и внешними объектами.

Обмен данными между бэкендом и внешней средой

Передача данных между бэкендом и внешней средой осуществляется посредством сообщений, содержащих спайки. На бэкенде сообщения со спайками принимают входные проекции. Во внешнюю среду сообщения со спайками отправляются по подпискам.

Сообщения со спайками могут быть переданы в синхронном режиме (по запросу пользователя) или по сигналу бэкенда. Для получения спайков в синхронном режиме вызывается блокирующий метод источника данных.

Если требуется, вы можете реализовать и использовать асинхронный режим для обмена данными между бэкендом и внешней средой.

Обмен данными между нейронной сетью и внешней средой

Из внешней среды в нейронную сеть данные поступают через каналы ввода. Каналы ввода используются для преобразования полученных данных в сообщения, содержащие спайки.

Типовой цикл получения нейронной сетью данных от внешней среды включает следующие шаги:

  1. В соответствии с заданной функцией преобразователь данных IndexConverter или SequenceConverter преобразует данные, полученные от внешней среды, в сообщения SpikeMessage.
  2. Канал ввода InputChannel получает преобразованные сообщения от преобразователя данных.
  3. Точка подключения MessageEndpoint, связанная с каналом ввода InputChannel, отправляет спайки во входную проекцию нейронной сети Network.

Во внешнюю среду нейронная сеть передает спайки, преобразованные в данные, через каналы вывода, подключенные к указанным популяциям. Типовой цикл передачи данных нейронной сетью во внешнюю среду включает следующие шаги:

  1. Точка подключения MessageEndpoint подписывается на сообщения отправителя.
  2. Точка подключения MessageEndpoint отправляет сообщения от связанной популяции.
  3. Шина сообщений MessageBus доставляет сообщения от отправителя к точке подключения MessageEndpoint, связанной с каналом вывода OutputChannel.
  4. Точка подключения MessageEndpoint, связанная с каналом вывода OutputChannel, получает сообщения.
  5. Канал вывода OutputChannel получает сообщения и преобразовывает их в нужный формат данных.

Если вы загрузили модель, хранящую нейронную сеть, каналы ввода и вывода, в исполнитель моделей ModelExecutor, то при ее исполнении на бэкенде автоматически осуществляется передача отправленных сообщений до точки подключения через шину сообщений.

Передача данных (например, потенциала мембраны) возможна также через подсистему мониторинга.

Если требуется, вы можете реализовать и использовать собственные объекты для обмена данными между нейронной сетью и внешней средой.

Обмен данными между популяциями и проекциями

Обмен данными между популяциями и проекциями осуществляется через сообщения. Для обмена сообщениями популяции и проекции требуется предварительно загрузить на бэкенд.

На обмене сообщений между популяциями и проекциями основывается работа бэкенда для CPU.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!