@mauriciobenjamin700/ort-vision-sdk-web 0.7.0 → 0.7.1
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.
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.7.1] - 2026-08-14
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **A pipeline buffer that a consumer transferred away is replaced instead of
|
|
15
|
+
written into.** `LetterboxPipeline` and `ResizePipeline` hold one
|
|
16
|
+
`Float32Array` and hand the same one out every call, which is the whole point
|
|
17
|
+
of them — but `ort.env.wasm.proxy` (ONNX Runtime in a worker) posts the input
|
|
18
|
+
tensors with their `ArrayBuffer`s in the transfer list, and that **detaches**
|
|
19
|
+
them on this side. A detached `Float32Array` is silently `0` long: the writes
|
|
20
|
+
land nowhere and the next `InferenceSession.run` rejects with
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
Tensor's size(1228800) does not match data length(0).
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
on every other call — the detached buffer throws, the throw leaves the claim
|
|
27
|
+
outstanding, so the call after it allocates a fresh array and succeeds.
|
|
28
|
+
Measured in Chromium against a 640×640 YOLO detector: run 1 ok (195 ms), run 2
|
|
29
|
+
rejected, run 3 ok (206 ms).
|
|
30
|
+
|
|
31
|
+
The buffer holder now treats a length that no longer matches the target as
|
|
32
|
+
spent and allocates a replacement, so the cost is one allocation per transfer
|
|
33
|
+
instead of a failure every second inference — and reuse still holds for every
|
|
34
|
+
consumer that copies the tensor rather than transferring it. Nothing about the
|
|
35
|
+
public shape changed: `run()` still reports `reused: true` when the returned
|
|
36
|
+
data is the pipeline's own buffer.
|
|
37
|
+
|
|
38
|
+
Without this, `env.wasm.proxy` is unusable with the built-in tasks, and that
|
|
39
|
+
flag is the only way to keep inference off the browser's main thread — measured
|
|
40
|
+
at 805 ms of frozen UI for one warm-up on a 32-core desktop, against 18 ms with
|
|
41
|
+
the worker.
|
|
42
|
+
|
|
10
43
|
## [0.7.0] - 2026-08-08
|
|
11
44
|
|
|
12
45
|
### Added
|
package/dist/index.js
CHANGED
|
@@ -23,5 +23,5 @@ export { Classifier, } from "./tasks/classifier.js";
|
|
|
23
23
|
export { DetectClassify, } from "./tasks/detectClassify.js";
|
|
24
24
|
export { Detector, } from "./tasks/detector.js";
|
|
25
25
|
export { Segmenter, } from "./tasks/segmenter.js";
|
|
26
|
-
export const VERSION = "0.7.
|
|
26
|
+
export const VERSION = "0.7.1";
|
|
27
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -55,7 +55,6 @@ export declare class LetterboxPipeline {
|
|
|
55
55
|
private readonly _buffer;
|
|
56
56
|
private _source;
|
|
57
57
|
private _sourceContext;
|
|
58
|
-
private _bufferInUse;
|
|
59
58
|
/**
|
|
60
59
|
* @param targetWidth Model input width in pixels.
|
|
61
60
|
* @param targetHeight Model input height in pixels.
|
|
@@ -71,7 +70,9 @@ export declare class LetterboxPipeline {
|
|
|
71
70
|
* still checked out — {@link release} marks it free again. A second `run`
|
|
72
71
|
* before the first is released allocates a fresh buffer rather than
|
|
73
72
|
* corrupting it, so concurrent `predict()` calls on one task stay correct at
|
|
74
|
-
* the cost of the allocation they were trying to avoid.
|
|
73
|
+
* the cost of the allocation they were trying to avoid. A buffer that was
|
|
74
|
+
* detached by a consumer that transferred it is replaced rather than written
|
|
75
|
+
* into — see {@link ReusableBuffer}.
|
|
75
76
|
*
|
|
76
77
|
* @param image Source image in the SDK's canonical HWC RGB layout.
|
|
77
78
|
*/
|
|
@@ -156,7 +157,6 @@ export declare class ResizePipeline {
|
|
|
156
157
|
private _targetContext;
|
|
157
158
|
private _source;
|
|
158
159
|
private _sourceContext;
|
|
159
|
-
private _bufferInUse;
|
|
160
160
|
/**
|
|
161
161
|
* @param targetWidth Model input width in pixels.
|
|
162
162
|
* @param targetHeight Model input height in pixels.
|
|
@@ -174,6 +174,9 @@ export declare class ResizePipeline {
|
|
|
174
174
|
* keeps the result identical to `resize()`, whose own fast path returns the
|
|
175
175
|
* input untouched.
|
|
176
176
|
*
|
|
177
|
+
* Buffer reuse follows {@link ReusableBuffer}: held across calls, replaced when
|
|
178
|
+
* a consumer detached it by transferring the tensor.
|
|
179
|
+
*
|
|
177
180
|
* @param image Source image in the SDK's canonical HWC RGB layout.
|
|
178
181
|
*/
|
|
179
182
|
run(image: RGBImage): FusedResizeResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/preprocess/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/preprocess/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,55 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { createCanvas, get2DContext, rgbToImageData } from "../core/canvas.js";
|
|
24
24
|
const INV_255 = 1 / 255;
|
|
25
|
+
/**
|
|
26
|
+
* A `Float32Array` held across calls, handed out one claim at a time.
|
|
27
|
+
*
|
|
28
|
+
* Both pipelines want the same thing — allocate once, write into it every frame,
|
|
29
|
+
* and fall back to a fresh array when a previous result has not been released
|
|
30
|
+
* yet — so the bookkeeping lives here instead of twice.
|
|
31
|
+
*
|
|
32
|
+
* The part that is not obvious is {@link claim} re-allocating a buffer that is
|
|
33
|
+
* *detached*. `ort.env.wasm.proxy` runs ONNX Runtime in a worker and posts the
|
|
34
|
+
* input tensors with their `ArrayBuffer`s in the transfer list, which detaches
|
|
35
|
+
* them on this side. A detached `Float32Array` is silently 0 long: writing to it
|
|
36
|
+
* is a no-op, and the next `InferenceSession.run` rejects with
|
|
37
|
+
* `Tensor's size(N) does not match data length(0)` on every other call — once for
|
|
38
|
+
* the detached buffer, then the throw leaves the claim outstanding so the call
|
|
39
|
+
* after it allocates and succeeds. Treating a buffer that changed length as spent
|
|
40
|
+
* turns that into one extra allocation per transfer, which is what reuse was
|
|
41
|
+
* avoiding, and keeps it correct for any consumer that transfers the tensor
|
|
42
|
+
* rather than copying it.
|
|
43
|
+
*/
|
|
44
|
+
class ReusableBuffer {
|
|
45
|
+
_size;
|
|
46
|
+
_buffer;
|
|
47
|
+
_inUse = false;
|
|
48
|
+
/** @param size Length in floats of every buffer this hands out. */
|
|
49
|
+
constructor(size) {
|
|
50
|
+
this._size = size;
|
|
51
|
+
this._buffer = new Float32Array(size);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Take the held buffer, or a fresh one when it is unavailable.
|
|
55
|
+
*
|
|
56
|
+
* Unavailable means either still checked out by an unreleased claim, or
|
|
57
|
+
* detached by whoever it was handed to. The first case allocates for this call
|
|
58
|
+
* only; the second replaces the held buffer, so the allocation is paid once per
|
|
59
|
+
* transfer rather than on every call after it.
|
|
60
|
+
*/
|
|
61
|
+
claim() {
|
|
62
|
+
if (this._inUse)
|
|
63
|
+
return { data: new Float32Array(this._size), reused: false };
|
|
64
|
+
if (this._buffer.length !== this._size)
|
|
65
|
+
this._buffer = new Float32Array(this._size);
|
|
66
|
+
this._inUse = true;
|
|
67
|
+
return { data: this._buffer, reused: true };
|
|
68
|
+
}
|
|
69
|
+
/** Mark the held buffer free for the next {@link claim}. */
|
|
70
|
+
release() {
|
|
71
|
+
this._inUse = false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
25
74
|
/**
|
|
26
75
|
* Reusable letterbox → tensor pipeline for one target resolution.
|
|
27
76
|
*
|
|
@@ -38,7 +87,6 @@ export class LetterboxPipeline {
|
|
|
38
87
|
_buffer;
|
|
39
88
|
_source = null;
|
|
40
89
|
_sourceContext = null;
|
|
41
|
-
_bufferInUse = false;
|
|
42
90
|
/**
|
|
43
91
|
* @param targetWidth Model input width in pixels.
|
|
44
92
|
* @param targetHeight Model input height in pixels.
|
|
@@ -55,7 +103,7 @@ export class LetterboxPipeline {
|
|
|
55
103
|
this._targetContext = get2DContext(this._target, { willReadFrequently: true });
|
|
56
104
|
this._targetContext.imageSmoothingEnabled = true;
|
|
57
105
|
this._targetContext.imageSmoothingQuality = "high";
|
|
58
|
-
this._buffer = new
|
|
106
|
+
this._buffer = new ReusableBuffer(3 * targetHeight * targetWidth);
|
|
59
107
|
}
|
|
60
108
|
/** The `[width, height]` this pipeline letterboxes into. */
|
|
61
109
|
get targetSize() {
|
|
@@ -68,7 +116,9 @@ export class LetterboxPipeline {
|
|
|
68
116
|
* still checked out — {@link release} marks it free again. A second `run`
|
|
69
117
|
* before the first is released allocates a fresh buffer rather than
|
|
70
118
|
* corrupting it, so concurrent `predict()` calls on one task stay correct at
|
|
71
|
-
* the cost of the allocation they were trying to avoid.
|
|
119
|
+
* the cost of the allocation they were trying to avoid. A buffer that was
|
|
120
|
+
* detached by a consumer that transferred it is replaced rather than written
|
|
121
|
+
* into — see {@link ReusableBuffer}.
|
|
72
122
|
*
|
|
73
123
|
* @param image Source image in the SDK's canonical HWC RGB layout.
|
|
74
124
|
*/
|
|
@@ -89,9 +139,7 @@ export class LetterboxPipeline {
|
|
|
89
139
|
}
|
|
90
140
|
context.drawImage(this._source, 0, 0, image.width, image.height, padLeft, padTop, scaledWidth, scaledHeight);
|
|
91
141
|
const rgba = context.getImageData(0, 0, targetWidth, targetHeight).data;
|
|
92
|
-
const reused =
|
|
93
|
-
const data = reused ? this._buffer : new Float32Array(3 * targetHeight * targetWidth);
|
|
94
|
-
this._bufferInUse = true;
|
|
142
|
+
const { data, reused } = this._buffer.claim();
|
|
95
143
|
const plane = targetWidth * targetHeight;
|
|
96
144
|
for (let pixel = 0, offset = 0; pixel < plane; pixel++, offset += 4) {
|
|
97
145
|
data[pixel] = rgba[offset] * INV_255;
|
|
@@ -108,7 +156,7 @@ export class LetterboxPipeline {
|
|
|
108
156
|
* the WASM heap and the buffer can be overwritten.
|
|
109
157
|
*/
|
|
110
158
|
release() {
|
|
111
|
-
this.
|
|
159
|
+
this._buffer.release();
|
|
112
160
|
}
|
|
113
161
|
/**
|
|
114
162
|
* Grow the scratch source canvas to fit an image, reusing it when possible.
|
|
@@ -189,7 +237,6 @@ export class ResizePipeline {
|
|
|
189
237
|
_targetContext = null;
|
|
190
238
|
_source = null;
|
|
191
239
|
_sourceContext = null;
|
|
192
|
-
_bufferInUse = false;
|
|
193
240
|
/**
|
|
194
241
|
* @param targetWidth Model input width in pixels.
|
|
195
242
|
* @param targetHeight Model input height in pixels.
|
|
@@ -204,7 +251,7 @@ export class ResizePipeline {
|
|
|
204
251
|
this._targetHeight = targetHeight;
|
|
205
252
|
this._mean = mean;
|
|
206
253
|
this._std = std;
|
|
207
|
-
this._buffer = new
|
|
254
|
+
this._buffer = new ReusableBuffer(3 * targetHeight * targetWidth);
|
|
208
255
|
}
|
|
209
256
|
/** The `[width, height]` this pipeline resizes into. */
|
|
210
257
|
get targetSize() {
|
|
@@ -218,14 +265,15 @@ export class ResizePipeline {
|
|
|
218
265
|
* keeps the result identical to `resize()`, whose own fast path returns the
|
|
219
266
|
* input untouched.
|
|
220
267
|
*
|
|
268
|
+
* Buffer reuse follows {@link ReusableBuffer}: held across calls, replaced when
|
|
269
|
+
* a consumer detached it by transferring the tensor.
|
|
270
|
+
*
|
|
221
271
|
* @param image Source image in the SDK's canonical HWC RGB layout.
|
|
222
272
|
*/
|
|
223
273
|
run(image) {
|
|
224
274
|
const targetWidth = this._targetWidth;
|
|
225
275
|
const targetHeight = this._targetHeight;
|
|
226
|
-
const reused =
|
|
227
|
-
const data = reused ? this._buffer : new Float32Array(3 * targetHeight * targetWidth);
|
|
228
|
-
this._bufferInUse = true;
|
|
276
|
+
const { data, reused } = this._buffer.claim();
|
|
229
277
|
if (image.width === targetWidth && image.height === targetHeight) {
|
|
230
278
|
writePlanarFloat32(image.data, targetWidth, targetHeight, this._mean, this._std, data, 3);
|
|
231
279
|
return { data, reused };
|
|
@@ -246,7 +294,7 @@ export class ResizePipeline {
|
|
|
246
294
|
* the WASM heap and the buffer can be overwritten.
|
|
247
295
|
*/
|
|
248
296
|
release() {
|
|
249
|
-
this.
|
|
297
|
+
this._buffer.release();
|
|
250
298
|
}
|
|
251
299
|
/**
|
|
252
300
|
* Build the target canvas on first use.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/preprocess/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAiC,MAAM,mBAAmB,CAAC;AAG9G,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/preprocess/pipeline.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED