Files
wehub-resource-sync 7254f7b4d1
Build / Build (macos-latest) (push) Has been cancelled
Build / Build (ubuntu-latest) (push) Has been cancelled
Build / Build (windows-latest) (push) Has been cancelled
Build / Analyze (javascript) (push) Has been cancelled
Build / Analyze (python) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:37:45 +08:00

102 lines
3.0 KiB
JavaScript

export const kann = {};
kann.Model = class Model {
static identifier(reader) {
return reader.identifier === 'KaNN';
}
static create(reader) {
return kann.Model.decode(reader, reader.root);
}
static decode(reader, position) {
const $ = new kann.Model();
$.graph = reader.tables(position, 4, kann.Graph);
return $;
}
};
kann.Graph = class Graph {
static decode(reader, position) {
const $ = new kann.Graph();
$.arcs = reader.tables(position, 4, kann.Arc);
$.nodes = reader.tables(position, 6, kann.Node);
$.inputs = reader.strings_(position, 8);
$.outputs = reader.strings_(position, 10);
return $;
}
};
kann.Arc = class Arc {
static decode(reader, position) {
const $ = new kann.Arc();
$.name = reader.string_(position, 4, null);
$.type = reader.string_(position, 6, null);
$.attributes = reader.tables(position, 8, kann.Attribute);
return $;
}
};
kann.Node = class Node {
static decode(reader, position) {
const $ = new kann.Node();
$.name = reader.string_(position, 4, null);
$.type = reader.string_(position, 6, null);
$.inputs = reader.strings_(position, 8);
$.outputs = reader.strings_(position, 10);
$.attributes = reader.tables(position, 12, kann.Attribute);
$.tensor = reader.table(position, 14, kann.Param);
$.relu = reader.bool_(position, 16, false);
$.params = reader.tables(position, 18, kann.Param);
return $;
}
};
kann.Param = class Param {
static decode(reader, position) {
const $ = new kann.Param();
$.name = reader.string_(position, 4, null);
$.type = reader.string_(position, 6, null);
$.shape = reader.array(position, 8, Int32Array);
$.value = reader.table(position, 10, kann.Data);
$.scale = reader.table(position, 12, kann.Data);
$.zero_point = reader.table(position, 14, kann.Data);
return $;
}
};
kann.Attribute = class Attribute {
static decode(reader, position) {
const $ = new kann.Attribute();
$.name = reader.string_(position, 4, null);
$.type = reader.string_(position, 6, null);
$.value = reader.table(position, 8, kann.Data);
$.attributes = reader.tables(position, 10, kann.Attribute);
return $;
}
};
kann.Data = class Data {
static decode(reader, position) {
const $ = new kann.Data();
$.type = reader.string_(position, 4, null);
$.value_string = reader.string_(position, 6, null);
$.value_float = reader.float64_(position, 8, 0);
$.value_int = reader.int64_(position, 10, 0n);
$.value_uint = reader.uint64_(position, 12, 0n);
$.list_string = reader.strings_(position, 14);
$.list_float = reader.array(position, 16, Float64Array);
$.list_int = reader.int64s_(position, 18);
$.list_uint = reader.uint64s_(position, 20);
return $;
}
};