Пространство имен input

26 декабря 2025

ID 244944

В пространстве имен input реализованы интерфейсы для доступа к каналу ввода и преобразователю данных, поступающих из внешней среды. Данные могут поступать в Kaspersky Neuromorphic Platform как в синхронном (по запросу пользователя), так и в асинхронном режиме (по вызову обработчика).

Класс SequenceConverter

Класс SequenceConverter реализует преобразователь данных, который принимает данные из потока istream и делит поступившие данные на отрезки определенной длины. При создании преобразователя данных необходимо указать поток данных istream, из которого поступают данные, функцию преобразования входных данных и длину отрезка входных данных. При необходимости вы можете изменить длину отрезка входных данных.

Преобразователь данных SequenceConverter возвращает список индексов входных значений, которые содержат спайки, в виде сообщения SpikeMessage. Если требуется, вы можете реализовать и использовать собственные функции преобразования входных данных.

Класс SequenceConverter предоставляет методы, с помощью которых вы можете получить поток данных, используемый преобразователем данных, а также вызвать функцию преобразования данных из потока istream в сообщение SpikeMessage.

Класс IndexConverter

Класс IndexConverter реализует преобразователь данных, который принимает данные из потока istream и преобразует последовательность индексов поступивших значений, содержащих спайки, в сообщение SpikeMessage.

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

С помощью методов класса IndexConverter вы можете получить поток данных, используемый преобразователем данных, а также вызвать функцию преобразования данных из потока istream в сообщение SpikeMessage.

Класс InputChannel

Класс InputChannel реализует канал ввода, который принимает сообщения SpikeMessage от преобразователя данных. При создании канала ввода необходимо указать уникальный идентификатор UID канала ввода, точку подключения MessageEndpoint, а также функтор для преобразования данных в сообщения SpikeMessage.

После создания канал ввода необходимо связать с точкой подключения и получателем сообщений с помощью метода input::connect_input(). При наличии подписки Subscription данные, преобразованные в сообщения SpikeMessage, могут быть переданы через точки подключения с помощью методов класса InputChannel.

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

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

Каждый канал ввода содержит следующие атрибуты:

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

Подробнее о функциях и интерфейсах пространства имен input см. в API-документации Kaspersky Neuromorphic Platform.

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