Структура и пример файла базового формата
Файл базового формата, описывающий входные или выходные данные, содержит следующие параметры:
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]
}
}
}