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

26 декабря 2025

ID 284232

Пространство имен projection содержит пространства имен creators, synapse_generators и parameters_generators. Пространства имен предоставляют функции и интерфейсы, необходимые для генерации проекций и их наполнения синапсами определенного типа. Перед вызовом функций необходимо предварительно создать популяции, которые необходимо связать проекцией.

В пространстве имен также реализованы функции, с помощью которых вы можете создать новую проекцию, связав две популяции одним из следующих образов:

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

С помощью функций пространства имен вы также можете добавить в исполнитель моделей ModelExecutor обработчик сообщений SpikeMessage из пространства имен modifier, реализующий механизм Winner Takes ALL (WTA).

При необходимости для создания проекций и синапсов вы можете использовать методы, предоставляемые классом Projection.

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

В пространство имен creators реализованы функции для генерации проекций синапсов. Эти функции позволяют генерировать проекции синапсов путем следующих соединений нейронов:

  • Полное соединение – каждый нейрон пресинаптической популяции соединяется с каждым нейроном постсинаптической популяции.
  • Последовательное соединение – нейроны популяции меньшего размера соединяются с нейронами другой популяции в определенном порядке.
  • Исключающее соединение – нейроны популяций не соединяются, если их индексы совпадают.
  • Один-к-одному – нейроны пресинаптической и постсинаптической популяций соединяются в отношении один-к-одному.
  • Случайное соединение – нейроны популяций соединяются с определенной вероятностью.
  • Случайное соединение с ограничением – каждый нейрон одной популяции соединяется с определенным количеством случайных нейронов другой популяции.
  • Условное соединение – нейроны соединяются, если функция генерации синапса возвращает ненулевое std::optional значение.

Вы также можете сгенерировать проекции синапсов следующими способами:

  • Из контейнера, содержащего атрибуты синапсов и индексы пресинаптического и постсинаптического нейронов.
  • Из объекта std::map, где ключами являются индексы пресинаптического и постсинаптического нейронов, а значениями – атрибуты синапсов.
  • Путем копирования синапсов из другой проекции.

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

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

  • Полное соединение – каждый нейрон пресинаптической популяции соединяется с каждым нейроном постсинаптической популяции.
  • Последовательное соединения – нейроны популяции меньшего размера соединяются последовательно с нейронами другой популяции.
  • Исключающее соединение – каждый нейрон одной популяции соединяется с каждым нейроном другой популяции, за исключением тех, чьи индексы совпадают.
  • Один-к-одному – нейроны популяций соединяются в отношении один-к-одному.
  • Из контейнера, содержащего атрибуты синапсов и индексы пресинаптического и постсинаптического нейронов.
  • Из объекта std::map или std::unordered_map, содержащего атрибуты синапсов в качестве значения и индексы пресинаптического и постсинаптического нейронов в качестве ключа.
  • Случайное соединение – каждый нейрон пресинаптической популяции соединяется с каждым нейроном постсинаптической популяции с определенной вероятностью.
  • Случайное соединение с ограничением – каждый нейрон одной популяции соединяется с определенным количеством случайных нейронов другой популяции.
  • Условное соединение – определенные нейроны популяций соединяются на основе функции генерации синапса.
  • Путем копирования структуры другой проекции.

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

В пространстве имен parameters_generators реализованы функция генерации синапса со значениями атрибутов по умолчанию и класс CopySynapseGen. Класс CopySynapseGen реализует генератор синапсов, который копирует атрибуты у заданного синапса.

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

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