@buley/neural 4.1.1 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/bench/benchmark.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { Neuron, Synapse } from "../types";
2
+ export declare class NeuronRepository {
3
+ create(neuron: Neuron): Promise<void>;
4
+ createWithSemantics(neuron: Neuron, description: string): Promise<void>;
5
+ getAll(): Promise<Neuron[]>;
6
+ delete(id: string): Promise<void>;
7
+ }
8
+ export declare class SynapseRepository {
9
+ create(synapse: Synapse): Promise<void>;
10
+ getAll(): Promise<Synapse[]>;
11
+ delete(id: string): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/db/repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,gBAAgB;IACnB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C;AAED,qBAAa,iBAAiB;IACpB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvC,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -0,0 +1,2 @@
1
+ export declare function initializeSchema(): Promise<void>;
2
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAGA,wBAAsB,gBAAgB,kBAoCrC"}
@@ -0,0 +1,33 @@
1
+ export declare class GPUEngine {
2
+ device: GPUDevice | null;
3
+ pipeline: GPUComputePipeline | null;
4
+ bindGroup: GPUBindGroup | null;
5
+ deltaBuffer: GPUBuffer | null;
6
+ targetBuffer: GPUBuffer | null;
7
+ paramBuffer: GPUBuffer | null;
8
+ trainingPipeline: GPUComputePipeline | null;
9
+ deltaPipeline: GPUComputePipeline | null;
10
+ trainingBindGroup: GPUBindGroup | null;
11
+ weightBuffer: GPUBuffer | null;
12
+ inputBuffer: GPUBuffer | null;
13
+ biasBuffer: GPUBuffer | null;
14
+ outputBuffer: GPUBuffer | null;
15
+ uniformBuffer: GPUBuffer | null;
16
+ networkSize: number;
17
+ batchSize: number;
18
+ init(): Promise<void>;
19
+ prepareBuffers(size: number, weights: Float32Array, biases: Float32Array, batchSize?: number): void;
20
+ private createBuffer;
21
+ runTick(inputs: Float32Array): Promise<Float32Array>;
22
+ prepareTrainingBuffers(targets: Float32Array, learningRate: number): void;
23
+ private subscribers;
24
+ subscribe(callback: (event: {
25
+ type: 'loss' | 'epoch';
26
+ value: number;
27
+ }) => void): () => void;
28
+ private emit;
29
+ train(inputs: Float32Array, targets: Float32Array): Promise<Float32Array>;
30
+ trainTick(deltas?: Float32Array): Promise<void>;
31
+ injectInput(data: Float32Array): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=gpu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["../../src/engine/gpu.ts"],"names":[],"mappings":"AAIA,qBAAa,SAAS;IAClB,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAChC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAC3C,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IAGtC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAQ;IACrC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAQ;IACtC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAQ;IAErC,gBAAgB,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IACnD,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAChD,iBAAiB,EAAE,YAAY,GAAG,IAAI,CAAQ;IAG9C,YAAY,EAAE,SAAS,GAAG,IAAI,CAAQ;IACtC,WAAW,EAAE,SAAS,GAAG,IAAI,CAAQ;IACrC,UAAU,EAAE,SAAS,GAAG,IAAI,CAAQ;IACpC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAQ;IACtC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,WAAW,EAAE,MAAM,CAAK;IACxB,SAAS,EAAE,MAAM,CAAK;IAEhB,IAAI;IA4BV,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,GAAE,MAAU;IAgC/F,OAAO,CAAC,YAAY;IAgBd,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IA4C1D,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM;IA6BlE,OAAO,CAAC,WAAW,CAAsE;IAEzF,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI;IAO9E,OAAO,CAAC,IAAI;IAIN,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAmCzE,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/C,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAUvD"}
@@ -0,0 +1,12 @@
1
+ import { Neuron, Synapse } from "../types";
2
+ export declare class Translator {
3
+ private idToIndex;
4
+ private indexToId;
5
+ flatten(neurons: Neuron[], synapses: Synapse[]): {
6
+ size: number;
7
+ weights: Float32Array;
8
+ biases: Float32Array;
9
+ initialValues: Float32Array;
10
+ };
11
+ }
12
+ //# sourceMappingURL=translator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../src/engine/translator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,UAAU;IAEnB,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAgB;IAGjC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG;QAC7C,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,YAAY,CAAC;QACtB,MAAM,EAAE,YAAY,CAAC;QACrB,aAAa,EAAE,YAAY,CAAA;KAC9B;CAwCJ"}
@@ -0,0 +1,14 @@
1
+ export declare class WebNNEngine {
2
+ context: MLContext | null;
3
+ builder: MLGraphBuilder | null;
4
+ graph: MLGraph | null;
5
+ networkSize: number;
6
+ batchSize: number;
7
+ weights: Float32Array | null;
8
+ biases: Float32Array | null;
9
+ isReady: boolean;
10
+ init(): Promise<void>;
11
+ prepareModel(size: number, weights: Float32Array, biases: Float32Array, batchSize?: number): Promise<void>;
12
+ runTick(inputs: Float32Array): Promise<Float32Array>;
13
+ }
14
+ //# sourceMappingURL=webnn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webnn.d.ts","sourceRoot":"","sources":["../../src/engine/webnn.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IACpB,OAAO,EAAE,SAAS,GAAG,IAAI,CAAQ;IACjC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAQ;IACtC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAQ;IAG7B,WAAW,EAAE,MAAM,CAAK;IACxB,SAAS,EAAE,MAAM,CAAK;IAItB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAQ;IACpC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAQ;IAEnC,OAAO,UAAS;IAEV,IAAI;IAqBJ,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,GAAE,MAAU;IA4D7F,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CAiB7D"}
@@ -0,0 +1,119 @@
1
+ import { NeuronRepository, SynapseRepository } from "./db/repository";
2
+ import { GPUEngine } from "./engine/gpu";
3
+ import { WebNNEngine } from "./engine/webnn";
4
+ import { Neuron, Synapse } from "./types";
5
+ export type { Neuron, Synapse } from "./types";
6
+ export { GPUEngine } from "./engine/gpu";
7
+ export { WebNNEngine } from "./engine/webnn";
8
+ export declare class NeuralEngine {
9
+ gpu: GPUEngine;
10
+ npu: WebNNEngine;
11
+ neuronRepo: NeuronRepository;
12
+ synapseRepo: SynapseRepository;
13
+ private translator;
14
+ activeBackend: 'gpu' | 'npu';
15
+ constructor();
16
+ private neurons;
17
+ private synapses;
18
+ init(): Promise<{
19
+ nodeCount: number;
20
+ nodes: {
21
+ id: string;
22
+ index: number;
23
+ type: "input" | "hidden" | "output" | "cloud";
24
+ }[];
25
+ edges: {
26
+ id: string;
27
+ source: number;
28
+ target: number;
29
+ weight: number;
30
+ }[];
31
+ }>;
32
+ compile(): Promise<{
33
+ size: number;
34
+ weights: Float32Array;
35
+ biases: Float32Array;
36
+ initialValues: Float32Array;
37
+ }>;
38
+ deployToCloud(): Promise<{
39
+ nodeCount: number;
40
+ nodes: {
41
+ id: string;
42
+ index: number;
43
+ type: "input" | "hidden" | "output" | "cloud";
44
+ }[];
45
+ edges: {
46
+ id: string;
47
+ source: number;
48
+ target: number;
49
+ weight: number;
50
+ }[];
51
+ }>;
52
+ getGraphData(): {
53
+ nodeCount: number;
54
+ nodes: {
55
+ id: string;
56
+ index: number;
57
+ type: "input" | "hidden" | "output" | "cloud";
58
+ }[];
59
+ edges: {
60
+ id: string;
61
+ source: number;
62
+ target: number;
63
+ weight: number;
64
+ }[];
65
+ };
66
+ deleteSynapse(id: string): Promise<{
67
+ nodeCount: number;
68
+ nodes: {
69
+ id: string;
70
+ index: number;
71
+ type: "input" | "hidden" | "output" | "cloud";
72
+ }[];
73
+ edges: {
74
+ id: string;
75
+ source: number;
76
+ target: number;
77
+ weight: number;
78
+ }[];
79
+ }>;
80
+ exportGraph(): {
81
+ version: string;
82
+ neurons: Neuron[];
83
+ synapses: Synapse[];
84
+ };
85
+ importGraph(data: {
86
+ neurons: Neuron[];
87
+ synapses: Synapse[];
88
+ }): Promise<{
89
+ nodeCount: number;
90
+ nodes: {
91
+ id: string;
92
+ index: number;
93
+ type: "input" | "hidden" | "output" | "cloud";
94
+ }[];
95
+ edges: {
96
+ id: string;
97
+ source: number;
98
+ target: number;
99
+ weight: number;
100
+ }[];
101
+ }>;
102
+ injectInput(data: Float32Array): Promise<void>;
103
+ runTick(inputs: Float32Array): Promise<Float32Array>;
104
+ }
105
+ export declare function init(): Promise<{
106
+ nodeCount: number;
107
+ nodes: {
108
+ id: string;
109
+ index: number;
110
+ type: "input" | "hidden" | "output" | "cloud";
111
+ }[];
112
+ edges: {
113
+ id: string;
114
+ source: number;
115
+ target: number;
116
+ weight: number;
117
+ }[];
118
+ }>;
119
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE1C,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,YAAY;IACrB,GAAG,EAAE,SAAS,CAAC;IACf,GAAG,EAAE,WAAW,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,CAAC,UAAU,CAAa;IAE/B,aAAa,EAAE,KAAK,GAAG,KAAK,CAAS;;IAWrC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IAE3B,IAAI;;;;;;;;;;;;;;IAsDJ,OAAO;;;;;;IAgBP,aAAa;;;;;;;;;;;;;;IAoBnB,YAAY;;;;;;;;;;;;;;IA0BN,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;IAa9B,WAAW;;;;;IAQL,WAAW,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE;;;;;;;;;;;;;;IA0B5D,WAAW,CAAC,IAAI,EAAE,YAAY;IAQ9B,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CAO7D;AAGD,wBAAsB,IAAI;;;;;;;;;;;;;GAGzB"}