@buley/neural 4.1.1 → 4.2.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,117 @@
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 declare class NeuralEngine {
7
+ gpu: GPUEngine;
8
+ npu: WebNNEngine;
9
+ neuronRepo: NeuronRepository;
10
+ synapseRepo: SynapseRepository;
11
+ private translator;
12
+ activeBackend: 'gpu' | 'npu';
13
+ constructor();
14
+ private neurons;
15
+ private synapses;
16
+ init(): Promise<{
17
+ nodeCount: number;
18
+ nodes: {
19
+ id: string;
20
+ index: number;
21
+ type: "input" | "hidden" | "output" | "cloud";
22
+ }[];
23
+ edges: {
24
+ id: string;
25
+ source: number;
26
+ target: number;
27
+ weight: number;
28
+ }[];
29
+ }>;
30
+ compile(): Promise<{
31
+ size: number;
32
+ weights: Float32Array;
33
+ biases: Float32Array;
34
+ initialValues: Float32Array;
35
+ }>;
36
+ deployToCloud(): Promise<{
37
+ nodeCount: number;
38
+ nodes: {
39
+ id: string;
40
+ index: number;
41
+ type: "input" | "hidden" | "output" | "cloud";
42
+ }[];
43
+ edges: {
44
+ id: string;
45
+ source: number;
46
+ target: number;
47
+ weight: number;
48
+ }[];
49
+ }>;
50
+ getGraphData(): {
51
+ nodeCount: number;
52
+ nodes: {
53
+ id: string;
54
+ index: number;
55
+ type: "input" | "hidden" | "output" | "cloud";
56
+ }[];
57
+ edges: {
58
+ id: string;
59
+ source: number;
60
+ target: number;
61
+ weight: number;
62
+ }[];
63
+ };
64
+ deleteSynapse(id: string): Promise<{
65
+ nodeCount: number;
66
+ nodes: {
67
+ id: string;
68
+ index: number;
69
+ type: "input" | "hidden" | "output" | "cloud";
70
+ }[];
71
+ edges: {
72
+ id: string;
73
+ source: number;
74
+ target: number;
75
+ weight: number;
76
+ }[];
77
+ }>;
78
+ exportGraph(): {
79
+ version: string;
80
+ neurons: Neuron[];
81
+ synapses: Synapse[];
82
+ };
83
+ importGraph(data: {
84
+ neurons: Neuron[];
85
+ synapses: Synapse[];
86
+ }): Promise<{
87
+ nodeCount: number;
88
+ nodes: {
89
+ id: string;
90
+ index: number;
91
+ type: "input" | "hidden" | "output" | "cloud";
92
+ }[];
93
+ edges: {
94
+ id: string;
95
+ source: number;
96
+ target: number;
97
+ weight: number;
98
+ }[];
99
+ }>;
100
+ injectInput(data: Float32Array): Promise<void>;
101
+ runTick(inputs: Float32Array): Promise<Float32Array>;
102
+ }
103
+ export declare function init(): Promise<{
104
+ nodeCount: number;
105
+ nodes: {
106
+ id: string;
107
+ index: number;
108
+ type: "input" | "hidden" | "output" | "cloud";
109
+ }[];
110
+ edges: {
111
+ id: string;
112
+ source: number;
113
+ target: number;
114
+ weight: number;
115
+ }[];
116
+ }>;
117
+ //# 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;AAE/C,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"}