Структура и пример файла базового формата

26 декабря 2025

ID 293315

Файл базового формата, описывающий входные или выходные данные, содержит следующие параметры:

  • attributes – массив атрибутов файла базового формата, содержащий множество пар типа "ключ-значение" со следующими ключами:
    • name – название атрибута файла. Предусмотрены следующие названия атрибута: magic и version. Атрибут magic соответствует числу, идентифицирующему формат файла. Атрибут version соответствует версии формата.
    • shape – размер массива, заданного в параметре value для атрибута version.
    • type – множество пар "ключ-значение", описывающих значение атрибута файла с помощью следующих ключей:
      • class – тип значения атрибута файла.
      • size – возможный диапазон значения атрибута файла.
      • endianness – порядок хранения байтов значения атрибута файла.
    • value – значение атрибута файла.
  • spikes – параметр, описывающий сгенерированные спайки с помощью следующих параметров:
    • attributes – массив атрибутов, описывающих способ сортировки сгенерированных спайков, содержащий множество пар "ключ-значение" со следующими ключами:
      • name – название атрибута сортировки. Параметр имеет значение sorting.
      • type – множество пар "ключ-значение", описывающих возможные способы сортировки с помощью следующих ключей:
        • class – тип данных, описывающий возможные способы сортировки. Параметр имеет значение Enumeration.
        • mapping – перечисление возможных способов сортировки спайков и их целочисленные значения. Предусмотрены следующие способы сортировки: by_id, by_time и none. Способ by_id соответствует сортировке по индексам нейронов, сгенерировавших спайки. Способ by_time соответствует сортировке по временным меткам генерации спайков. Способ none соответствует отсутствию сортировки.
        • value – выбранный способ сортировки спайков.
    • node_ids – индексы нейронов, сгенерировавших спайки. Параметр содержит множество пар "ключ-значение" со следующими ключами:
      • shape – размер массива, заданного в параметре value.
      • type – множество пар "ключ-значение", описывающих нейроны, сгенерировавшие спайки, с помощью следующих ключей:
        • class – тип значения индексов нейронов.
        • size – возможный диапазон значений индексов нейронов.
        • endianness – порядок хранения байтов индексов нейронов.
      • value – массив индексов UID нейронов, сгенерировавших спайки.
    • timestamps – временные метки генерации спайков. Параметр содержит множество пар "ключ-значение" со следующими ключами:
      • attributes – массив параметров, описывающих временные метки генерации спайков. Массив содержит параметр values, соответствующий типу значению временных меток. Параметр values имеет значение step, что соответствует шагам исполнения нейронной сети. Помимо элемента values массив attributes содержит множество пар "ключ-значение" со следующими ключами:
        • name – название атрибута временной метки. Параметр имеет значение units.
        • type – множество пар "ключ-значение", описывающих временные метки. Ключ class соответствует типу значения, заданного для параметра values. Ключ charSet соответствует стандарту, используемому для кодирования значений временных меток.
      • shape – размер массива, заданного в параметре value.
      • type – множество пар "ключ-значение", описывающих значения временной метки с помощью следующих ключей:
        • class – тип значения временных меток.
        • endianness – порядок хранения байтов значений временных меток.
      • value – временные метки генерации спайков.

Ниже приведен пример файла базового формата в нотации JSON.

{

"attributes": [

{

"name": "magic",

"type": {

"class": "Integer (unsigned)",

"size": 32,

"endianness": "little-endian"

},

"value": 2682

},

{

"name": "version",

"shape": [2],

"type": {

"class": "Integer (unsigned)",

"size": 32,

"endianness": "little-endian"

},

"value": [0, 1]

}

],

"spikes": {

"attributes": [

{

"name": "sorting",

"type": {

"class": "Enumeration",

"mapping": {

"by_id": 1,

"by_time": 2,

"none": 0

},

"value": "by_time"

}

}

],

"node_ids": {

"shape": [5],

"type": {

"class": "Integer (unsigned)",

"size": 64,

"endianness": "little-endian"

},

"value": [1, 2, 3, 4, 5]

},

"timestamps": {

"attributes": [

{

"name": "units",

"type": {

"class": "String",

"charSet": "ASCII"

}

},

"values": "step"

],

"shape": [5],

"type": {

"class": "Float",

"endianness": "little-endian"

},

"value": [1, 2, 3, 4, 5]

}

}

}

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