Класс Backend

26 декабря 2025

ID 235749

Класс Backend является базовым для реализаций бэкендов. Каждый бэкенд реализуется в виде отдельной библиотеки, с помощью которой вы можете:

  • взаимодействовать с физическими устройствами (например, получать информацию о потребляемой мощности);
  • управлять обучением и исполнением импульсной нейронной сети на различных устройствах;
  • считывать выходные спайки, полученные от вычислителя;
  • получать внутренние данные для мониторинга работы нейронной сети;
  • выгружать внутренние данные мониторинга работы нейронной сети, полученные от вычислителя.

Перед инициализацией бэкенда вы можете загрузить проекции, содержащие синапсы, и популяции, содержащие нейроны. Для этого вы можете использовать методы load_all_projections() и load_all_populations() базового класса Backend или соответствующие методы конкретного класса бэкенда. Если предварительно была создана модель Model, в которую была передана нейронная сеть Network, хранящая популяции Population и проекции Projection, вы можете использовать метод загрузки модели ModelLoader::load() для ее загрузки на бэкенд.

Конкретные классы бэкендов являются наследниками базового класса Backend. Для инициализации конкретного бэкенда необходимо переопределить его методы в классе-наследнике. В процессе инициализации загруженные проекции синапсов подписываются на спайки от связанных популяций или каналов ввода, а загруженные популяции подписываются на синаптические воздействия от связанных проекций. При необходимости вы можете подписать необходимые объекты платформы на сообщения с помощью метода подписки subscribe().

Для выбора устройства, на котором будет исполняться нейронная сеть, необходимо сначала вызвать метод get_devices(), который предоставляет вычислители конкретного типа. Тип вычислителей является наследником класса Device. Наследники определены в пространстве имен devices и реализуют конкретные устройства. Каждое устройство обладает своим набором функций и свойств. После этого необходимо вызвать метод select_devices() или select_device() для выбора конкретного устройства из предоставленных, передав в него уникальные идентификаторы устройств или указатели на экземпляры класса Device.

Базовый класс Backend также предоставляет методы, с помощью которых вы можете выполнять следующие действия:

  • Запускать и останавливать обучение нейронной сети.
  • Включать и выключать использование синаптической пластичности во время обучения нейронной сети.
  • Запускать и останавливать исполнение нейронной сети.
  • Получать следующие данные:
    • Базовые данные бэкенда.
    • Шину сообщений. С помощью шины сообщений бэкенд обеспечивает обмен сообщениями между объектами платформы, а также обмен сообщениями от модификаторов к нейронам и синапсам.
    • Точку подключения к шине сообщений.
    • Статус исполнения нейронной сети на бэкенде.
    • Устройства, поддерживаемые бэкендом.
    • Номер шага исполнения нейронной сети.

Подробнее о методах базового класса Backend см. в API-документации Kaspersky Neuromorphic Platform.

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