edgeflowjs 0.1.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.
Files changed (98) hide show
  1. package/README.md +473 -0
  2. package/dist/backends/index.d.ts +13 -0
  3. package/dist/backends/index.d.ts.map +1 -0
  4. package/dist/backends/index.js +32 -0
  5. package/dist/backends/index.js.map +1 -0
  6. package/dist/backends/onnx.d.ts +46 -0
  7. package/dist/backends/onnx.d.ts.map +1 -0
  8. package/dist/backends/onnx.js +249 -0
  9. package/dist/backends/onnx.js.map +1 -0
  10. package/dist/backends/wasm.d.ts +78 -0
  11. package/dist/backends/wasm.d.ts.map +1 -0
  12. package/dist/backends/wasm.js +358 -0
  13. package/dist/backends/wasm.js.map +1 -0
  14. package/dist/backends/webgpu.d.ts +143 -0
  15. package/dist/backends/webgpu.d.ts.map +1 -0
  16. package/dist/backends/webgpu.js +326 -0
  17. package/dist/backends/webgpu.js.map +1 -0
  18. package/dist/backends/webnn.d.ts +115 -0
  19. package/dist/backends/webnn.d.ts.map +1 -0
  20. package/dist/backends/webnn.js +202 -0
  21. package/dist/backends/webnn.js.map +1 -0
  22. package/dist/core/index.d.ts +9 -0
  23. package/dist/core/index.d.ts.map +1 -0
  24. package/dist/core/index.js +14 -0
  25. package/dist/core/index.js.map +1 -0
  26. package/dist/core/memory.d.ts +234 -0
  27. package/dist/core/memory.d.ts.map +1 -0
  28. package/dist/core/memory.js +554 -0
  29. package/dist/core/memory.js.map +1 -0
  30. package/dist/core/runtime.d.ts +129 -0
  31. package/dist/core/runtime.d.ts.map +1 -0
  32. package/dist/core/runtime.js +352 -0
  33. package/dist/core/runtime.js.map +1 -0
  34. package/dist/core/scheduler.d.ts +118 -0
  35. package/dist/core/scheduler.d.ts.map +1 -0
  36. package/dist/core/scheduler.js +600 -0
  37. package/dist/core/scheduler.js.map +1 -0
  38. package/dist/core/tensor.d.ts +149 -0
  39. package/dist/core/tensor.d.ts.map +1 -0
  40. package/dist/core/tensor.js +719 -0
  41. package/dist/core/tensor.js.map +1 -0
  42. package/dist/core/types.d.ts +367 -0
  43. package/dist/core/types.d.ts.map +1 -0
  44. package/dist/core/types.js +54 -0
  45. package/dist/core/types.js.map +1 -0
  46. package/dist/edgeflow.browser.js +5601 -0
  47. package/dist/edgeflow.browser.js.map +7 -0
  48. package/dist/edgeflow.browser.min.js +19 -0
  49. package/dist/edgeflow.browser.min.js.map +7 -0
  50. package/dist/index.d.ts +71 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +158 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/pipelines/base.d.ts +122 -0
  55. package/dist/pipelines/base.d.ts.map +1 -0
  56. package/dist/pipelines/base.js +155 -0
  57. package/dist/pipelines/base.js.map +1 -0
  58. package/dist/pipelines/feature-extraction.d.ts +68 -0
  59. package/dist/pipelines/feature-extraction.d.ts.map +1 -0
  60. package/dist/pipelines/feature-extraction.js +197 -0
  61. package/dist/pipelines/feature-extraction.js.map +1 -0
  62. package/dist/pipelines/image-classification.d.ts +61 -0
  63. package/dist/pipelines/image-classification.d.ts.map +1 -0
  64. package/dist/pipelines/image-classification.js +140 -0
  65. package/dist/pipelines/image-classification.js.map +1 -0
  66. package/dist/pipelines/index.d.ts +58 -0
  67. package/dist/pipelines/index.d.ts.map +1 -0
  68. package/dist/pipelines/index.js +72 -0
  69. package/dist/pipelines/index.js.map +1 -0
  70. package/dist/pipelines/text-classification.d.ts +71 -0
  71. package/dist/pipelines/text-classification.d.ts.map +1 -0
  72. package/dist/pipelines/text-classification.js +175 -0
  73. package/dist/pipelines/text-classification.js.map +1 -0
  74. package/dist/tools/index.d.ts +143 -0
  75. package/dist/tools/index.d.ts.map +1 -0
  76. package/dist/tools/index.js +294 -0
  77. package/dist/tools/index.js.map +1 -0
  78. package/dist/utils/cache.d.ts +162 -0
  79. package/dist/utils/cache.d.ts.map +1 -0
  80. package/dist/utils/cache.js +443 -0
  81. package/dist/utils/cache.js.map +1 -0
  82. package/dist/utils/index.d.ts +8 -0
  83. package/dist/utils/index.d.ts.map +1 -0
  84. package/dist/utils/index.js +12 -0
  85. package/dist/utils/index.js.map +1 -0
  86. package/dist/utils/model-loader.d.ts +107 -0
  87. package/dist/utils/model-loader.d.ts.map +1 -0
  88. package/dist/utils/model-loader.js +694 -0
  89. package/dist/utils/model-loader.js.map +1 -0
  90. package/dist/utils/preprocessor.d.ts +147 -0
  91. package/dist/utils/preprocessor.d.ts.map +1 -0
  92. package/dist/utils/preprocessor.js +423 -0
  93. package/dist/utils/preprocessor.js.map +1 -0
  94. package/dist/utils/tokenizer.d.ts +140 -0
  95. package/dist/utils/tokenizer.d.ts.map +1 -0
  96. package/dist/utils/tokenizer.js +397 -0
  97. package/dist/utils/tokenizer.js.map +1 -0
  98. package/package.json +87 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * edgeFlow.js - Core Module Exports
3
+ */
4
+ export * from './types.js';
5
+ export { EdgeFlowTensor, tensor, zeros, ones, full, random, randn, arange, linspace, eye, add, sub, mul, div, matmul, softmax, relu, sigmoid, tanh, sum, mean, argmax, concat, } from './tensor.js';
6
+ export { InferenceScheduler, getScheduler, setScheduler, configureScheduler, } from './scheduler.js';
7
+ export { MemoryManager, MemoryScope, ModelCache, withMemoryScope, withMemoryScopeSync, getMemoryManager, getMemoryStats, release, gc, } from './memory.js';
8
+ export { RuntimeManager, LoadedModelImpl, loadModel, loadModelFromBuffer, runInference, runBatchInference, getRuntimeManager, registerRuntime, getBestRuntime, getAvailableRuntimes, } from './runtime.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,MAAM,EACN,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,EAAE,GACH,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * edgeFlow.js - Core Module Exports
3
+ */
4
+ // Types
5
+ export * from './types.js';
6
+ // Tensor
7
+ export { EdgeFlowTensor, tensor, zeros, ones, full, random, randn, arange, linspace, eye, add, sub, mul, div, matmul, softmax, relu, sigmoid, tanh, sum, mean, argmax, concat, } from './tensor.js';
8
+ // Scheduler
9
+ export { InferenceScheduler, getScheduler, setScheduler, configureScheduler, } from './scheduler.js';
10
+ // Memory
11
+ export { MemoryManager, MemoryScope, ModelCache, withMemoryScope, withMemoryScopeSync, getMemoryManager, getMemoryStats, release, gc, } from './memory.js';
12
+ // Runtime
13
+ export { RuntimeManager, LoadedModelImpl, loadModel, loadModelFromBuffer, runInference, runBatchInference, getRuntimeManager, registerRuntime, getBestRuntime, getAvailableRuntimes, } from './runtime.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,SAAS;AACT,OAAO,EACL,cAAc,EACd,MAAM,EACN,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,GACP,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,SAAS;AACT,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,EAAE,GACH,MAAM,aAAa,CAAC;AAErB,UAAU;AACV,OAAO,EACL,cAAc,EACd,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * edgeFlow.js - Memory Management
3
+ *
4
+ * Efficient memory management for tensors and models.
5
+ * Features:
6
+ * - Memory pooling
7
+ * - Automatic garbage collection
8
+ * - Memory tracking and statistics
9
+ * - Leak detection
10
+ */
11
+ import { Tensor, LoadedModel, MemoryStats, MemoryPoolConfig, EventType, EventListener } from './types.js';
12
+ /**
13
+ * Tracked resource info
14
+ */
15
+ interface TrackedResource {
16
+ id: string;
17
+ type: 'tensor' | 'model';
18
+ size: number;
19
+ createdAt: number;
20
+ stackTrace?: string;
21
+ }
22
+ /**
23
+ * MemoryManager - Central memory management
24
+ *
25
+ * Provides:
26
+ * - Resource tracking
27
+ * - Memory statistics
28
+ * - Garbage collection coordination
29
+ * - Memory warning events
30
+ */
31
+ export declare class MemoryManager {
32
+ private static instance;
33
+ private readonly config;
34
+ private readonly resources;
35
+ private readonly disposers;
36
+ private readonly listeners;
37
+ private allocated;
38
+ private peak;
39
+ private gcScheduled;
40
+ private disposed;
41
+ private constructor();
42
+ /**
43
+ * Get singleton instance
44
+ */
45
+ static getInstance(): MemoryManager;
46
+ /**
47
+ * Configure the memory manager
48
+ */
49
+ static configure(config: MemoryPoolConfig): void;
50
+ /**
51
+ * Track a tensor
52
+ */
53
+ track(tensor: Tensor, disposer?: () => void): void;
54
+ /**
55
+ * Track a model
56
+ */
57
+ trackModel(model: LoadedModel, disposer?: () => void): void;
58
+ /**
59
+ * Untrack a resource
60
+ */
61
+ untrack(id: string): void;
62
+ /**
63
+ * Release a resource
64
+ */
65
+ release(resourceOrId: Tensor | LoadedModel | string): void;
66
+ /**
67
+ * Estimate tensor memory size
68
+ */
69
+ private estimateTensorSize;
70
+ /**
71
+ * Get bytes per element for a data type
72
+ */
73
+ private getBytesPerElement;
74
+ /**
75
+ * Capture stack trace for debugging
76
+ */
77
+ private captureStackTrace;
78
+ /**
79
+ * Check if memory threshold is exceeded
80
+ */
81
+ private checkMemoryThreshold;
82
+ /**
83
+ * Garbage collection helper
84
+ */
85
+ gc(): void;
86
+ /**
87
+ * Get memory statistics
88
+ */
89
+ getStats(): MemoryStats;
90
+ /**
91
+ * Get detailed resource list (for debugging)
92
+ */
93
+ getResourceDetails(): TrackedResource[];
94
+ /**
95
+ * Check for potential memory leaks
96
+ */
97
+ detectLeaks(maxAge?: number): TrackedResource[];
98
+ /**
99
+ * Add event listener
100
+ */
101
+ on<T = unknown>(event: EventType, listener: EventListener<T>): void;
102
+ /**
103
+ * Remove event listener
104
+ */
105
+ off<T = unknown>(event: EventType, listener: EventListener<T>): void;
106
+ /**
107
+ * Emit event
108
+ */
109
+ private emit;
110
+ /**
111
+ * Reset statistics
112
+ */
113
+ resetStats(): void;
114
+ /**
115
+ * Dispose all resources
116
+ */
117
+ disposeAll(): void;
118
+ /**
119
+ * Dispose the manager
120
+ */
121
+ dispose(): void;
122
+ }
123
+ /**
124
+ * Memory scope for automatic resource cleanup
125
+ *
126
+ * Usage:
127
+ * ```typescript
128
+ * const result = await withMemoryScope(async (scope) => {
129
+ * const tensor1 = scope.track(createTensor(...));
130
+ * const tensor2 = scope.track(createTensor(...));
131
+ * // Process tensors
132
+ * return computeResult(tensor1, tensor2);
133
+ * });
134
+ * // tensor1 and tensor2 are automatically disposed
135
+ * ```
136
+ */
137
+ export declare class MemoryScope {
138
+ private resources;
139
+ private children;
140
+ private parent;
141
+ constructor(parent?: MemoryScope);
142
+ /**
143
+ * Track a resource in this scope
144
+ */
145
+ track<T extends {
146
+ dispose: () => void;
147
+ }>(resource: T): T;
148
+ /**
149
+ * Create a child scope
150
+ */
151
+ createChild(): MemoryScope;
152
+ /**
153
+ * Keep a resource (don't dispose it when scope ends)
154
+ */
155
+ keep<T extends {
156
+ dispose: () => void;
157
+ }>(resource: T): T;
158
+ /**
159
+ * Dispose all resources in this scope
160
+ */
161
+ dispose(): void;
162
+ }
163
+ /**
164
+ * Execute a function with automatic memory cleanup
165
+ */
166
+ export declare function withMemoryScope<T>(fn: (scope: MemoryScope) => Promise<T>): Promise<T>;
167
+ /**
168
+ * Synchronous version of withMemoryScope
169
+ */
170
+ export declare function withMemoryScopeSync<T>(fn: (scope: MemoryScope) => T): T;
171
+ /**
172
+ * LRU Cache for loaded models
173
+ */
174
+ export declare class ModelCache {
175
+ private readonly maxSize;
176
+ private readonly maxModels;
177
+ private readonly cache;
178
+ private currentSize;
179
+ constructor(options?: {
180
+ maxSize?: number;
181
+ maxModels?: number;
182
+ });
183
+ /**
184
+ * Get a model from cache
185
+ */
186
+ get(key: string): LoadedModel | undefined;
187
+ /**
188
+ * Add a model to cache
189
+ */
190
+ set(key: string, model: LoadedModel): void;
191
+ /**
192
+ * Remove a model from cache
193
+ */
194
+ delete(key: string): boolean;
195
+ /**
196
+ * Check if model is in cache
197
+ */
198
+ has(key: string): boolean;
199
+ /**
200
+ * Evict least recently used model
201
+ */
202
+ private evictLRU;
203
+ /**
204
+ * Clear the cache
205
+ */
206
+ clear(): void;
207
+ /**
208
+ * Get cache statistics
209
+ */
210
+ getStats(): {
211
+ size: number;
212
+ count: number;
213
+ maxSize: number;
214
+ maxModels: number;
215
+ };
216
+ }
217
+ /**
218
+ * Get memory manager instance
219
+ */
220
+ export declare function getMemoryManager(): MemoryManager;
221
+ /**
222
+ * Get memory statistics
223
+ */
224
+ export declare function getMemoryStats(): MemoryStats;
225
+ /**
226
+ * Release a resource
227
+ */
228
+ export declare function release(resource: Tensor | LoadedModel): void;
229
+ /**
230
+ * Force garbage collection hint
231
+ */
232
+ export declare function gc(): void;
233
+ export {};
234
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"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"}