@huggingface/transformers 4.0.0-next.8 → 4.0.0-next.9
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/README.md +2 -2
- package/dist/ort-wasm-simd-threaded.jsep.mjs +26 -26
- package/dist/transformers.js +338 -230
- package/dist/transformers.min.js +22 -18
- package/dist/transformers.node.cjs +339 -228
- package/dist/transformers.node.min.cjs +23 -19
- package/dist/transformers.node.min.mjs +23 -19
- package/dist/transformers.node.mjs +336 -228
- package/dist/transformers.web.js +220 -112
- package/dist/transformers.web.min.js +18 -14
- package/package.json +2 -2
- package/src/env.js +1 -1
- package/src/models/gemma3/image_processing_gemma3.js +3 -0
- package/src/models/gemma3/modeling_gemma3.js +4 -1
- package/src/models/gemma3/processing_gemma3.js +45 -0
- package/src/models/image_processors.js +1 -0
- package/src/models/modeling_utils.js +46 -25
- package/src/models/processors.js +1 -0
- package/src/models/qwen2_vl/modeling_qwen2_vl.js +39 -32
- package/src/models/registry.js +2 -8
- package/src/utils/model_registry/ModelRegistry.js +36 -0
- package/src/utils/model_registry/get_available_dtypes.js +68 -0
- package/src/utils/model_registry/get_model_files.js +7 -60
- package/src/utils/model_registry/resolve_model_type.js +66 -0
- package/types/models/gemma3/image_processing_gemma3.d.ts +4 -0
- package/types/models/gemma3/image_processing_gemma3.d.ts.map +1 -0
- package/types/models/gemma3/modeling_gemma3.d.ts +4 -1
- package/types/models/gemma3/modeling_gemma3.d.ts.map +1 -1
- package/types/models/gemma3/processing_gemma3.d.ts +20 -0
- package/types/models/gemma3/processing_gemma3.d.ts.map +1 -0
- package/types/models/image_processors.d.ts +1 -0
- package/types/models/modeling_utils.d.ts +2 -3
- package/types/models/modeling_utils.d.ts.map +1 -1
- package/types/models/processors.d.ts +1 -0
- package/types/models/qwen2_vl/modeling_qwen2_vl.d.ts.map +1 -1
- package/types/models/registry.d.ts.map +1 -1
- package/types/utils/model_registry/ModelRegistry.d.ts +27 -0
- package/types/utils/model_registry/ModelRegistry.d.ts.map +1 -1
- package/types/utils/model_registry/get_available_dtypes.d.ts +26 -0
- package/types/utils/model_registry/get_available_dtypes.d.ts.map +1 -0
- package/types/utils/model_registry/get_model_files.d.ts +25 -0
- package/types/utils/model_registry/get_model_files.d.ts.map +1 -1
- package/types/utils/model_registry/resolve_model_type.d.ts +24 -0
- package/types/utils/model_registry/resolve_model_type.d.ts.map +1 -0
package/dist/transformers.js
CHANGED
|
@@ -20,7 +20,7 @@ var node_path_default = {};
|
|
|
20
20
|
var node_url_default = {};
|
|
21
21
|
|
|
22
22
|
// src/env.js
|
|
23
|
-
var VERSION = "4.0.0-next.
|
|
23
|
+
var VERSION = "4.0.0-next.9";
|
|
24
24
|
var HAS_SELF = typeof self !== "undefined";
|
|
25
25
|
var IS_FS_AVAILABLE = !isEmpty(node_fs_default);
|
|
26
26
|
var IS_PATH_AVAILABLE = !isEmpty(node_path_default);
|
|
@@ -5754,14 +5754,14 @@ var Random = class {
|
|
|
5754
5754
|
* @returns {number} A normally distributed random value.
|
|
5755
5755
|
*/
|
|
5756
5756
|
gauss(mu = 0, sigma = 1) {
|
|
5757
|
-
let
|
|
5757
|
+
let z2 = this._gauss_next;
|
|
5758
5758
|
this._gauss_next = null;
|
|
5759
|
-
if (
|
|
5759
|
+
if (z2 === null) {
|
|
5760
5760
|
const x2pi = this.random() * 2 * Math.PI, g2rad = Math.sqrt(-2 * Math.log(1 - this.random()));
|
|
5761
|
-
|
|
5761
|
+
z2 = Math.cos(x2pi) * g2rad;
|
|
5762
5762
|
this._gauss_next = Math.sin(x2pi) * g2rad;
|
|
5763
5763
|
}
|
|
5764
|
-
return mu +
|
|
5764
|
+
return mu + z2 * sigma;
|
|
5765
5765
|
}
|
|
5766
5766
|
/**
|
|
5767
5767
|
* Shuffles an array in-place using the Fisher-Yates algorithm.
|
|
@@ -7485,7 +7485,7 @@ __export(onnxruntime_node_exports, {
|
|
|
7485
7485
|
});
|
|
7486
7486
|
var onnxruntime_node_default = {};
|
|
7487
7487
|
|
|
7488
|
-
// ../../node_modules/.pnpm/onnxruntime-web@1.25.0-dev.
|
|
7488
|
+
// ../../node_modules/.pnpm/onnxruntime-web@1.25.0-dev.20260323-a99aad9d36/node_modules/onnxruntime-web/dist/ort.webgpu.bundle.min.mjs
|
|
7489
7489
|
var ort_webgpu_bundle_min_exports = {};
|
|
7490
7490
|
__export(ort_webgpu_bundle_min_exports, {
|
|
7491
7491
|
InferenceSession: () => Jf,
|
|
@@ -8253,7 +8253,7 @@ async function ts(a = {}) {
|
|
|
8253
8253
|
throw L(e = "Aborted(" + e + ")"), W = true, e = new WebAssembly.RuntimeError(e + ". Build with -sASSERTIONS for more info."), R?.(e), e;
|
|
8254
8254
|
}
|
|
8255
8255
|
function Ye() {
|
|
8256
|
-
return { a: { f: Vs, J: js, k: Hs, p: Ys, l: qs, ta: Js, b: Xs, ca: Qs, Ka: Sn,
|
|
8256
|
+
return { a: { f: Vs, J: js, k: Hs, p: Ys, l: qs, ta: Js, b: Xs, ca: Qs, Ka: Sn, q: Zs, da: Ln, _a: On, Ga: Bn, Ia: Mn, $a: Cn, Ya: Un, Ra: Dn, Xa: Pn, pa: _n, Ha: Rn, Yb: Nn, Za: kn, Fa: Wn, eb: Ks, Da: ti, Tb: ri, Rb: oi, Ca: si, M: ii, I: ui, Sb: fi, ka: yi, Ub: bi, Ua: wi, Wb: Ti, La: vi, Pb: Ei, la: Si, Ta: Ar, bb: Ai, U: Oi, n: Di, c: Er, sb: Pi, w: _i, L: Ri, z: Ni, j: ki, o: Yn, tb: Wi, G: Fi, T: Gi, h: $i, u: zi, m: Vi, i: ji, Oa: Hi, Pa: Yi, Qa: qi, Ma: Qn, Na: Zn, Qb: Kn, fb: Xi, db: Ki, Y: eu, rb: tu, ma: ru, cb: Qi, gb: nu, ab: ou, Xb: au, N: Ji, hb: su, X: iu, Vb: uu, ob: bu, C: wu, sa: gu, ra: Tu, qb: vu, W: Eu, v: Su, nb: Au, mb: Iu, lb: xu, pb: Lu, kb: Ou, jb: Bu, ib: Mu, Va: ao, Wa: so, Ja: br, ea: io, oa: uo, Sa: fo, na: co, Db: Gf, xa: Df, Eb: Ff, ya: Uf, F: Ef, e: ff, s: sf, x: af, D: gf, Ib: Bf, ba: Lf, B: lf, za: Mf, $: Pf, ha: Of, Fb: kf, Gb: Nf, Ba: Sf, Aa: xf, Jb: Af, wa: Wf, aa: Cf, d: uf, A: df, r: cf, Cb: $f, t: mf, y: Tf, H: pf, E: hf, K: vf, S: _f, ja: wf, _: Rf, Kb: bf, Lb: yf, P: If2, g: Uu, a: Fe, Ob: qe, Hb: Du, ia: Pu, O: _u, qa: Ru, Mb: Nu, Q: ku, zb: Wu, Ab: Fu, ua: Gu, fa: $u, R: zu, Ea: Vu, va: ju, Z: Hu, xb: Yu, Zb: qu, V: Ju, Bb: Xu, ub: Qu, vb: Ku, wb: ef, ga: tf, yb: rf, Nb: nf } };
|
|
8257
8257
|
}
|
|
8258
8258
|
async function bt() {
|
|
8259
8259
|
function e(o, u) {
|
|
@@ -8316,14 +8316,14 @@ async function ts(a = {}) {
|
|
|
8316
8316
|
gt.push(t), Je[e.Nc] = t, t.Nc = e.Nc;
|
|
8317
8317
|
var n = { Oc: "run", he: e.ge, Wc: e.Wc, Nc: e.Nc };
|
|
8318
8318
|
return t.postMessage(n, e.Yc), 0;
|
|
8319
|
-
},
|
|
8319
|
+
}, G = 0, V = (e, t, ...n) => {
|
|
8320
8320
|
var o, u = 16 * n.length, c = P(), h = Ft(u), b = h >>> 3;
|
|
8321
8321
|
for (o of n) typeof o == "bigint" ? ((p(), pe)[b++ >>> 0] = 1n, (p(), pe)[b++ >>> 0] = o) : ((p(), pe)[b++ >>> 0] = 0n, (p(), ae)[b++ >>> 0] = o);
|
|
8322
8322
|
return e = Lo(e, 0, u, h, t), D(c), e;
|
|
8323
8323
|
};
|
|
8324
8324
|
function qe(e) {
|
|
8325
8325
|
if (i) return V(0, 1, e);
|
|
8326
|
-
if (S = e, !(0 <
|
|
8326
|
+
if (S = e, !(0 < G)) {
|
|
8327
8327
|
for (var t of gt) Se(t);
|
|
8328
8328
|
for (t of We) Se(t);
|
|
8329
8329
|
We = [], gt = [], Je = {}, W = true;
|
|
@@ -8368,7 +8368,7 @@ async function ts(a = {}) {
|
|
|
8368
8368
|
We.push(e);
|
|
8369
8369
|
}
|
|
8370
8370
|
var Fe, zs = (e, t) => {
|
|
8371
|
-
|
|
8371
|
+
G = 0, e = zr(e, t), 0 < G ? S = e : Fr(e);
|
|
8372
8372
|
}, Ct = [], Ut = 0, me = (e) => -9007199254740992 > e || 9007199254740992 < e ? NaN : Number(e);
|
|
8373
8373
|
function Vs(e) {
|
|
8374
8374
|
var t = new wr(e >>>= 0);
|
|
@@ -8720,7 +8720,7 @@ async function ts(a = {}) {
|
|
|
8720
8720
|
}
|
|
8721
8721
|
var he = (e) => {
|
|
8722
8722
|
if (!W) try {
|
|
8723
|
-
if (e(), !(0 <
|
|
8723
|
+
if (e(), !(0 < G)) try {
|
|
8724
8724
|
i ? Wt() && Fr(S) : br(S);
|
|
8725
8725
|
} catch (t) {
|
|
8726
8726
|
t instanceof wt || t == "unwind" || y(0, t);
|
|
@@ -8748,7 +8748,7 @@ async function ts(a = {}) {
|
|
|
8748
8748
|
return (t ? Vr[t] : of[e])(...Ir);
|
|
8749
8749
|
}
|
|
8750
8750
|
var Ei = () => {
|
|
8751
|
-
|
|
8751
|
+
G = 0;
|
|
8752
8752
|
};
|
|
8753
8753
|
function Si(e) {
|
|
8754
8754
|
e >>>= 0, i ? postMessage({ Oc: "cleanupThread", ie: e }) : yn(Je[e]);
|
|
@@ -8768,7 +8768,7 @@ async function ts(a = {}) {
|
|
|
8768
8768
|
try {
|
|
8769
8769
|
return e(...n);
|
|
8770
8770
|
} finally {
|
|
8771
|
-
W || (_t.pop(), Me && Ge === 1 && _t.length === 0 && (Ge = 0,
|
|
8771
|
+
W || (_t.pop(), Me && Ge === 1 && _t.length === 0 && (Ge = 0, G += 1, Pt(wa), typeof Fibers < "u" && Fibers.De()));
|
|
8772
8772
|
}
|
|
8773
8773
|
};
|
|
8774
8774
|
return jn.set(e, t), t;
|
|
@@ -8783,7 +8783,7 @@ async function ts(a = {}) {
|
|
|
8783
8783
|
try {
|
|
8784
8784
|
var c = (function() {
|
|
8785
8785
|
var E = (p(), x)[Me + 8 >>> 2 >>> 0];
|
|
8786
|
-
return E = Vn.get(E), E = jn.get(E), --
|
|
8786
|
+
return E = Vn.get(E), E = jn.get(E), --G, E();
|
|
8787
8787
|
})();
|
|
8788
8788
|
} catch (E) {
|
|
8789
8789
|
c = E, u = true;
|
|
@@ -8974,7 +8974,7 @@ async function ts(a = {}) {
|
|
|
8974
8974
|
return L(ct(e >>> 0, t >>> 0));
|
|
8975
8975
|
}
|
|
8976
8976
|
var ou = () => {
|
|
8977
|
-
throw
|
|
8977
|
+
throw G += 1, "unwind";
|
|
8978
8978
|
};
|
|
8979
8979
|
function au() {
|
|
8980
8980
|
return 4294901760;
|
|
@@ -9067,15 +9067,15 @@ async function ts(a = {}) {
|
|
|
9067
9067
|
}
|
|
9068
9068
|
(b = (p(), A)[c + 24 >>> 2 >>> 0]) && (b = { label: Ne(b + 4) }, e.defaultQueue = b), e.label = Ne(c + 4);
|
|
9069
9069
|
}
|
|
9070
|
-
|
|
9071
|
-
--
|
|
9072
|
-
ce[u >>> 0] = B.queue, ce[o >>> 0] = B, lt(n, B.lost.then((ue) => {
|
|
9070
|
+
G += 1, lt(t, h.requestDevice(e).then((B) => {
|
|
9071
|
+
--G, he(() => {
|
|
9072
|
+
ce[u >>> 0] = B.queue, ce[o >>> 0] = B, G += 1, lt(n, B.lost.then((ue) => {
|
|
9073
9073
|
he(() => {
|
|
9074
9074
|
B.onuncapturederror = () => {
|
|
9075
9075
|
};
|
|
9076
9076
|
var ye = P(), fe = Ce(ue.message);
|
|
9077
9077
|
_r(n, yu[ue.reason], fe), D(ye);
|
|
9078
|
-
});
|
|
9078
|
+
}), --G;
|
|
9079
9079
|
})), B.onuncapturederror = (ue) => {
|
|
9080
9080
|
var ye = 5;
|
|
9081
9081
|
ue.error instanceof GPUValidationError ? ye = 2 : ue.error instanceof GPUOutOfMemoryError ? ye = 3 : ue.error instanceof GPUInternalError && (ye = 4);
|
|
@@ -9084,7 +9084,7 @@ async function ts(a = {}) {
|
|
|
9084
9084
|
}, "adapterInfo" in B || (B.adapterInfo = h.info), kr(t, 1, o, 0);
|
|
9085
9085
|
});
|
|
9086
9086
|
}, (B) => {
|
|
9087
|
-
--
|
|
9087
|
+
--G, he(() => {
|
|
9088
9088
|
var ue = P(), ye = Ce(B.message);
|
|
9089
9089
|
kr(t, 3, o, ye), n && _r(n, 4, ye), D(ue);
|
|
9090
9090
|
});
|
|
@@ -9127,12 +9127,12 @@ async function ts(a = {}) {
|
|
|
9127
9127
|
function vu(e, t, n, o, u) {
|
|
9128
9128
|
e >>>= 0, t = me(t), n = me(n), u >>>= 0;
|
|
9129
9129
|
var c = O(e);
|
|
9130
|
-
Re[e] = [], u == 4294967295 && (u = void 0),
|
|
9131
|
-
--
|
|
9130
|
+
Re[e] = [], u == 4294967295 && (u = void 0), G += 1, lt(t, c.mapAsync(n, o >>> 0, u).then(() => {
|
|
9131
|
+
--G, he(() => {
|
|
9132
9132
|
Rr(t, 1, 0);
|
|
9133
9133
|
});
|
|
9134
9134
|
}, (h) => {
|
|
9135
|
-
--
|
|
9135
|
+
--G, he(() => {
|
|
9136
9136
|
P();
|
|
9137
9137
|
var b = Ce(h.message);
|
|
9138
9138
|
Rr(t, h.name === "AbortError" ? 4 : h.name === "OperationError" ? 3 : 0, b), delete Re[e];
|
|
@@ -9161,12 +9161,12 @@ async function ts(a = {}) {
|
|
|
9161
9161
|
return ce[n >>> 0] = u, o && (Re[n] = []), true;
|
|
9162
9162
|
}
|
|
9163
9163
|
function Iu(e, t, n, o) {
|
|
9164
|
-
e >>>= 0, t = me(t), o >>>= 0, n = du(n >>> 0), e = O(e),
|
|
9165
|
-
--
|
|
9164
|
+
e >>>= 0, t = me(t), o >>>= 0, n = du(n >>> 0), e = O(e), G += 1, lt(t, e.createComputePipelineAsync(n).then((u) => {
|
|
9165
|
+
--G, he(() => {
|
|
9166
9166
|
ce[o >>> 0] = u, Pr(t, 1, o, 0);
|
|
9167
9167
|
});
|
|
9168
9168
|
}, (u) => {
|
|
9169
|
-
--
|
|
9169
|
+
--G, he(() => {
|
|
9170
9170
|
var c = P(), h = Ce(u.message);
|
|
9171
9171
|
Pr(t, u.reason === "validation" ? 3 : u.reason === "internal" ? 4 : 0, o, h), D(c);
|
|
9172
9172
|
});
|
|
@@ -9181,15 +9181,15 @@ async function ts(a = {}) {
|
|
|
9181
9181
|
(e = O(e)).onuncapturederror = null, e.destroy();
|
|
9182
9182
|
};
|
|
9183
9183
|
function Ou(e, t) {
|
|
9184
|
-
t = me(t), e = O(e >>> 0),
|
|
9185
|
-
--
|
|
9184
|
+
t = me(t), e = O(e >>> 0), G += 1, lt(t, e.popErrorScope().then((n) => {
|
|
9185
|
+
--G, he(() => {
|
|
9186
9186
|
var o = 5;
|
|
9187
9187
|
n ? n instanceof GPUValidationError ? o = 2 : n instanceof GPUOutOfMemoryError ? o = 3 : n instanceof GPUInternalError && (o = 4) : o = 1;
|
|
9188
9188
|
var u = P(), c = n ? Ce(n.message) : 0;
|
|
9189
9189
|
Nr(t, 1, o, c), D(u);
|
|
9190
9190
|
});
|
|
9191
9191
|
}, (n) => {
|
|
9192
|
-
--
|
|
9192
|
+
--G, he(() => {
|
|
9193
9193
|
var o = P(), u = Ce(n.message);
|
|
9194
9194
|
Nr(t, 1, 5, u), D(o);
|
|
9195
9195
|
});
|
|
@@ -9200,8 +9200,8 @@ async function ts(a = {}) {
|
|
|
9200
9200
|
var u = { featureLevel: pu[(p(), x)[n + 4 >>> 2 >>> 0]], powerPreference: mu[(p(), x)[n + 8 >>> 2 >>> 0]], forceFallbackAdapter: !!(p(), A)[n + 12 >>> 2 >>> 0] };
|
|
9201
9201
|
(e = (p(), A)[n >>> 2 >>> 0]) !== 0 && (p(), u.Fe = !!(p(), A)[e + 8 >>> 2 >>> 0]);
|
|
9202
9202
|
}
|
|
9203
|
-
"gpu" in navigator ? (
|
|
9204
|
-
--
|
|
9203
|
+
"gpu" in navigator ? (G += 1, lt(t, navigator.gpu.requestAdapter(u).then((c) => {
|
|
9204
|
+
--G, he(() => {
|
|
9205
9205
|
if (c) ce[o >>> 0] = c, Et(t, 1, o, 0);
|
|
9206
9206
|
else {
|
|
9207
9207
|
var h = P(), b = Ce("WebGPU not available on this browser (requestAdapter returned null)");
|
|
@@ -9209,7 +9209,7 @@ async function ts(a = {}) {
|
|
|
9209
9209
|
}
|
|
9210
9210
|
});
|
|
9211
9211
|
}, (c) => {
|
|
9212
|
-
--
|
|
9212
|
+
--G, he(() => {
|
|
9213
9213
|
var h = P(), b = Ce(c.message);
|
|
9214
9214
|
Et(t, 4, o, b), D(h);
|
|
9215
9215
|
});
|
|
@@ -9440,7 +9440,7 @@ async function ts(a = {}) {
|
|
|
9440
9440
|
Te(`invalid type for getValue: ${t}`);
|
|
9441
9441
|
}
|
|
9442
9442
|
}, r.UTF8ToString = ct, r.stringToUTF8 = Pe, r.lengthBytesUTF8 = _e;
|
|
9443
|
-
var lo, po, Dr, Wt, xe, pt, mo, ho, yo, bo, wo, go, To, vo, Eo, So, Ao, Pr, _r, Rr, Nr, Et, kr, Io, Wr, xo, Lo, Oo, Fr, Bo, Mo, Gr, N, St, Co, D, Ft, P, Uo, $r, Do, Po, _o, zr, Ro, No, ko, Wo, Fo, Go, $o, zo, Vo, jo, Ho, Yo, qo, Jo, Xo, Qo, Zo, Ko, ea, ta, ra, na, oa, aa, sa, ia, ua, fa, ca, da, la, pa, ma, ha, ya, ba, wa, ga, Ta, ke, of = [qe, yr, En, Ln, On, Bn, Mn, Cn, Un, Dn, Pn, _n, Rn, Nn, kn, Wn, Qn, Zn, Kn, ao, so, io, uo, fo, co], Vr = {
|
|
9443
|
+
var lo, po, Dr, Wt, xe, pt, mo, ho, yo, bo, wo, go, To, vo, Eo, So, Ao, Pr, _r, Rr, Nr, Et, kr, Io, Wr, xo, Lo, Oo, Fr, Bo, Mo, Gr, N, St, Co, D, Ft, P, Uo, $r, Do, Po, _o, zr, Ro, No, ko, Wo, Fo, Go, $o, zo, Vo, jo, Ho, Yo, qo, Jo, Xo, Qo, Zo, Ko, ea, ta, ra, na, oa, aa, sa, ia, ua, fa, ca, da, la, pa, ma, ha, ya, ba, wa, ga, Ta, ke, of = [qe, yr, En, Ln, On, Bn, Mn, Cn, Un, Dn, Pn, _n, Rn, Nn, kn, Wn, Qn, Zn, Kn, ao, so, io, uo, fo, co], Vr = { 937012: (e, t, n, o, u) => {
|
|
9444
9444
|
if (r === void 0 || !r.Uc) return 1;
|
|
9445
9445
|
if ((e = ct(Number(e >>> 0))).startsWith("./") && (e = e.substring(2)), !(e = r.Uc.get(e))) return 2;
|
|
9446
9446
|
if (t = Number(t >>> 0), n = Number(n >>> 0), o = Number(o >>> 0), t + n > e.byteLength) return 3;
|
|
@@ -9460,11 +9460,11 @@ async function ts(a = {}) {
|
|
|
9460
9460
|
} catch {
|
|
9461
9461
|
return 4;
|
|
9462
9462
|
}
|
|
9463
|
-
},
|
|
9463
|
+
}, 937836: (e, t, n) => {
|
|
9464
9464
|
r.Sd(e, (p(), J).subarray(t >>> 0, t + n >>> 0));
|
|
9465
|
-
},
|
|
9465
|
+
}, 937900: () => r.me(), 937942: (e) => {
|
|
9466
9466
|
r.jd(e);
|
|
9467
|
-
},
|
|
9467
|
+
}, 937979: () => typeof wasmOffsetConverter < "u" };
|
|
9468
9468
|
function af(e, t, n, o) {
|
|
9469
9469
|
var u = P();
|
|
9470
9470
|
try {
|
|
@@ -9483,12 +9483,12 @@ async function ts(a = {}) {
|
|
|
9483
9483
|
N(1, 0);
|
|
9484
9484
|
}
|
|
9485
9485
|
}
|
|
9486
|
-
function uf(e
|
|
9487
|
-
var
|
|
9486
|
+
function uf(e) {
|
|
9487
|
+
var t = P();
|
|
9488
9488
|
try {
|
|
9489
|
-
|
|
9490
|
-
} catch (
|
|
9491
|
-
if (D(
|
|
9489
|
+
Ro(e);
|
|
9490
|
+
} catch (n) {
|
|
9491
|
+
if (D(t), n !== n + 0) throw n;
|
|
9492
9492
|
N(1, 0);
|
|
9493
9493
|
}
|
|
9494
9494
|
}
|
|
@@ -9501,25 +9501,16 @@ async function ts(a = {}) {
|
|
|
9501
9501
|
N(1, 0);
|
|
9502
9502
|
}
|
|
9503
9503
|
}
|
|
9504
|
-
function cf(e) {
|
|
9505
|
-
var
|
|
9506
|
-
try {
|
|
9507
|
-
Ro(e);
|
|
9508
|
-
} catch (n) {
|
|
9509
|
-
if (D(t), n !== n + 0) throw n;
|
|
9510
|
-
N(1, 0);
|
|
9511
|
-
}
|
|
9512
|
-
}
|
|
9513
|
-
function df(e, t, n, o, u, c, h) {
|
|
9514
|
-
var b = P();
|
|
9504
|
+
function cf(e, t, n) {
|
|
9505
|
+
var o = P();
|
|
9515
9506
|
try {
|
|
9516
|
-
|
|
9517
|
-
} catch (
|
|
9518
|
-
if (D(
|
|
9507
|
+
_o(e, t, n);
|
|
9508
|
+
} catch (u) {
|
|
9509
|
+
if (D(o), u !== u + 0) throw u;
|
|
9519
9510
|
N(1, 0);
|
|
9520
9511
|
}
|
|
9521
9512
|
}
|
|
9522
|
-
function
|
|
9513
|
+
function df(e, t) {
|
|
9523
9514
|
var n = P();
|
|
9524
9515
|
try {
|
|
9525
9516
|
Vo(e, t);
|
|
@@ -9528,6 +9519,15 @@ async function ts(a = {}) {
|
|
|
9528
9519
|
N(1, 0);
|
|
9529
9520
|
}
|
|
9530
9521
|
}
|
|
9522
|
+
function lf(e, t, n, o, u, c, h) {
|
|
9523
|
+
var b = P();
|
|
9524
|
+
try {
|
|
9525
|
+
return Wo(e, t, n, o, u, c, h);
|
|
9526
|
+
} catch (E) {
|
|
9527
|
+
if (D(b), E !== E + 0) throw E;
|
|
9528
|
+
N(1, 0);
|
|
9529
|
+
}
|
|
9530
|
+
}
|
|
9531
9531
|
function pf(e, t, n, o, u, c) {
|
|
9532
9532
|
var h = P();
|
|
9533
9533
|
try {
|
|
@@ -9957,7 +9957,7 @@ var nc;
|
|
|
9957
9957
|
var oc;
|
|
9958
9958
|
var ac;
|
|
9959
9959
|
var qt;
|
|
9960
|
-
var
|
|
9960
|
+
var z;
|
|
9961
9961
|
var je = k(() => {
|
|
9962
9962
|
"use strict";
|
|
9963
9963
|
Yt();
|
|
@@ -10013,19 +10013,19 @@ var je = k(() => {
|
|
|
10013
10013
|
rr = false, ds = true, H(M);
|
|
10014
10014
|
});
|
|
10015
10015
|
})), await Promise.race(C), S) throw new Error(`WebAssembly backend initializing failed due to timeout: ${r}ms`);
|
|
10016
|
-
},
|
|
10016
|
+
}, z = () => {
|
|
10017
10017
|
if (nn && rn) return rn;
|
|
10018
10018
|
throw new Error("WebAssembly is not initialized yet.");
|
|
10019
10019
|
};
|
|
10020
10020
|
});
|
|
10021
10021
|
var be;
|
|
10022
10022
|
var Lt;
|
|
10023
|
-
var
|
|
10023
|
+
var $;
|
|
10024
10024
|
var nr = k(() => {
|
|
10025
10025
|
"use strict";
|
|
10026
10026
|
je();
|
|
10027
10027
|
be = (a, r) => {
|
|
10028
|
-
let s =
|
|
10028
|
+
let s = z(), f = s.lengthBytesUTF8(a) + 1, i = s._malloc(f);
|
|
10029
10029
|
return s.stringToUTF8(a, i, f), r.push(i), i;
|
|
10030
10030
|
}, Lt = (a, r, s, f) => {
|
|
10031
10031
|
if (typeof a == "object" && a !== null) {
|
|
@@ -10039,8 +10039,8 @@ var nr = k(() => {
|
|
|
10039
10039
|
else if (typeof d == "boolean") f(l, d ? "1" : "0");
|
|
10040
10040
|
else throw new Error(`Can't handle extra config type: ${typeof d}`);
|
|
10041
10041
|
});
|
|
10042
|
-
},
|
|
10043
|
-
let r =
|
|
10042
|
+
}, $ = (a) => {
|
|
10043
|
+
let r = z(), s = r.stackSave();
|
|
10044
10044
|
try {
|
|
10045
10045
|
let f = r.PTR_SIZE, i = r.stackAlloc(2 * f);
|
|
10046
10046
|
r._OrtGetLastError(i, i + f);
|
|
@@ -10057,7 +10057,7 @@ var ps = k(() => {
|
|
|
10057
10057
|
je();
|
|
10058
10058
|
nr();
|
|
10059
10059
|
ls = (a) => {
|
|
10060
|
-
let r =
|
|
10060
|
+
let r = z(), s = 0, f = [], i = a || {};
|
|
10061
10061
|
try {
|
|
10062
10062
|
if (a?.logSeverityLevel === void 0) i.logSeverityLevel = 2;
|
|
10063
10063
|
else if (typeof a.logSeverityLevel != "number" || !Number.isInteger(a.logSeverityLevel) || a.logSeverityLevel < 0 || a.logSeverityLevel > 4) throw new Error(`log severity level is not valid: ${a.logSeverityLevel}`);
|
|
@@ -10065,9 +10065,9 @@ var ps = k(() => {
|
|
|
10065
10065
|
else if (typeof a.logVerbosityLevel != "number" || !Number.isInteger(a.logVerbosityLevel)) throw new Error(`log verbosity level is not valid: ${a.logVerbosityLevel}`);
|
|
10066
10066
|
a?.terminate === void 0 && (i.terminate = false);
|
|
10067
10067
|
let d = 0;
|
|
10068
|
-
return a?.tag !== void 0 && (d = be(a.tag, f)), s = r._OrtCreateRunOptions(i.logSeverityLevel, i.logVerbosityLevel, !!i.terminate, d), s === 0 &&
|
|
10068
|
+
return a?.tag !== void 0 && (d = be(a.tag, f)), s = r._OrtCreateRunOptions(i.logSeverityLevel, i.logVerbosityLevel, !!i.terminate, d), s === 0 && $("Can't create run options."), a?.extra !== void 0 && Lt(a.extra, "", /* @__PURE__ */ new WeakSet(), (l, m) => {
|
|
10069
10069
|
let y = be(l, f), w = be(m, f);
|
|
10070
|
-
r._OrtAddRunConfigEntry(s, y, w) !== 0 &&
|
|
10070
|
+
r._OrtAddRunConfigEntry(s, y, w) !== 0 && $(`Can't set a run config entry: ${l} - ${m}.`);
|
|
10071
10071
|
}), [s, f];
|
|
10072
10072
|
} catch (d) {
|
|
10073
10073
|
throw s !== 0 && r._OrtReleaseRunOptions(s), f.forEach((l) => r._free(l)), d;
|
|
@@ -10115,7 +10115,7 @@ var hs = k(() => {
|
|
|
10115
10115
|
r.use_ort_model_bytes_directly || (r.use_ort_model_bytes_directly = "1"), a.executionProviders && a.executionProviders.some((s) => (typeof s == "string" ? s : s.name) === "webgpu") && (a.enableMemPattern = false);
|
|
10116
10116
|
}, on = (a, r, s, f) => {
|
|
10117
10117
|
let i = be(r, f), d = be(s, f);
|
|
10118
|
-
|
|
10118
|
+
z()._OrtAddSessionConfigEntry(a, i, d) !== 0 && $(`Can't set a session config entry: ${r} - ${s}.`);
|
|
10119
10119
|
}, ot = (a, r, s, f) => {
|
|
10120
10120
|
let i = be(r, f), d = be(s, f);
|
|
10121
10121
|
a.push([i, d]);
|
|
@@ -10146,7 +10146,7 @@ var hs = k(() => {
|
|
|
10146
10146
|
}
|
|
10147
10147
|
S.validationMode && ot(l, "validationMode", S.validationMode, s);
|
|
10148
10148
|
}
|
|
10149
|
-
let v =
|
|
10149
|
+
let v = z().webgpuRegisterDevice(g);
|
|
10150
10150
|
if (v) {
|
|
10151
10151
|
let [S, C, R] = v;
|
|
10152
10152
|
ot(l, "deviceId", S.toString(), s), ot(l, "webgpuInstance", C.toString(), s), ot(l, "webgpuDevice", R.toString(), s);
|
|
@@ -10161,13 +10161,13 @@ var hs = k(() => {
|
|
|
10161
10161
|
}
|
|
10162
10162
|
let m = be(d, s), y = l.length, w = 0, T = 0;
|
|
10163
10163
|
if (y > 0) {
|
|
10164
|
-
w =
|
|
10165
|
-
for (let g = 0; g < y; g++)
|
|
10164
|
+
w = z()._malloc(y * z().PTR_SIZE), s.push(w), T = z()._malloc(y * z().PTR_SIZE), s.push(T);
|
|
10165
|
+
for (let g = 0; g < y; g++) z().setValue(w + g * z().PTR_SIZE, l[g][0], "*"), z().setValue(T + g * z().PTR_SIZE, l[g][1], "*");
|
|
10166
10166
|
}
|
|
10167
|
-
await
|
|
10167
|
+
await z()._OrtAppendExecutionProvider(a, m, w, T, y) !== 0 && $(`Can't append execution provider: ${d}.`);
|
|
10168
10168
|
}
|
|
10169
10169
|
}, ms = async (a) => {
|
|
10170
|
-
let r =
|
|
10170
|
+
let r = z(), s = 0, f = [], i = a || {};
|
|
10171
10171
|
uc(i);
|
|
10172
10172
|
try {
|
|
10173
10173
|
let d = sc(i.graphOptimizationLevel ?? "all"), l = ic(i.executionMode ?? "sequential"), m = typeof i.logId == "string" ? be(i.logId, f) : 0, y = i.logSeverityLevel ?? 2;
|
|
@@ -10175,7 +10175,7 @@ var hs = k(() => {
|
|
|
10175
10175
|
let w = i.logVerbosityLevel ?? 0;
|
|
10176
10176
|
if (!Number.isInteger(w) || w < 0 || w > 4) throw new Error(`log verbosity level is not valid: ${w}`);
|
|
10177
10177
|
let T = typeof i.optimizedModelFilePath == "string" ? be(i.optimizedModelFilePath, f) : 0;
|
|
10178
|
-
if (s = r._OrtCreateSessionOptions(d, !!i.enableCpuMemArena, !!i.enableMemPattern, l, !!i.enableProfiling, 0, m, y, w, T), s === 0 &&
|
|
10178
|
+
if (s = r._OrtCreateSessionOptions(d, !!i.enableCpuMemArena, !!i.enableMemPattern, l, !!i.enableProfiling, 0, m, y, w, T), s === 0 && $("Can't create session options."), i.executionProviders && await fc(s, i, f), i.enableGraphCapture !== void 0) {
|
|
10179
10179
|
if (typeof i.enableGraphCapture != "boolean") throw new Error(`enableGraphCapture must be a boolean value: ${i.enableGraphCapture}`);
|
|
10180
10180
|
on(s, "enableGraphCapture", i.enableGraphCapture.toString(), f);
|
|
10181
10181
|
}
|
|
@@ -10183,13 +10183,13 @@ var hs = k(() => {
|
|
|
10183
10183
|
if (typeof g != "string") throw new Error(`free dimension override name must be a string: ${g}`);
|
|
10184
10184
|
if (typeof v != "number" || !Number.isInteger(v) || v < 0) throw new Error(`free dimension override value must be a non-negative integer: ${v}`);
|
|
10185
10185
|
let S = be(g, f);
|
|
10186
|
-
r._OrtAddFreeDimensionOverride(s, S, v) !== 0 &&
|
|
10186
|
+
r._OrtAddFreeDimensionOverride(s, S, v) !== 0 && $(`Can't set a free dimension override: ${g} - ${v}.`);
|
|
10187
10187
|
}
|
|
10188
10188
|
return i.extra !== void 0 && Lt(i.extra, "", /* @__PURE__ */ new WeakSet(), (g, v) => {
|
|
10189
10189
|
on(s, g, v, f);
|
|
10190
10190
|
}), [s, f];
|
|
10191
10191
|
} catch (d) {
|
|
10192
|
-
throw s !== 0 && r._OrtReleaseSessionOptions(s) !== 0 &&
|
|
10192
|
+
throw s !== 0 && r._OrtReleaseSessionOptions(s) !== 0 && $("Can't release session options."), f.forEach((l) => r._free(l)), d;
|
|
10193
10193
|
}
|
|
10194
10194
|
};
|
|
10195
10195
|
});
|
|
@@ -10759,7 +10759,7 @@ var Os = k(() => {
|
|
|
10759
10759
|
return l ? l.push(d) : this.temporarySessionTensorIds.set(r, [d]), d;
|
|
10760
10760
|
}
|
|
10761
10761
|
uploadTensor(r, s) {
|
|
10762
|
-
if (
|
|
10762
|
+
if (!z().shouldTransferToMLTensor) throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");
|
|
10763
10763
|
le("verbose", () => `[WebNN] uploadTensor {tensorId: ${r}, data: ${s.byteLength}}`), this.tensorManager.upload(r, s);
|
|
10764
10764
|
}
|
|
10765
10765
|
async downloadTensor(r, s) {
|
|
@@ -10865,11 +10865,11 @@ var Kr = k(() => {
|
|
|
10865
10865
|
nr();
|
|
10866
10866
|
sn();
|
|
10867
10867
|
yc = (a, r) => {
|
|
10868
|
-
|
|
10868
|
+
z()._OrtInit(a, r) !== 0 && $("Can't initialize onnxruntime.");
|
|
10869
10869
|
}, Jt = async (a) => {
|
|
10870
10870
|
yc(a.wasm.numThreads, Ot(a.logLevel));
|
|
10871
10871
|
}, Xt = async (a, r) => {
|
|
10872
|
-
|
|
10872
|
+
z().asyncInit?.();
|
|
10873
10873
|
let s = a.webgpu.adapter;
|
|
10874
10874
|
if (r === "webgpu") {
|
|
10875
10875
|
if (typeof navigator > "u" || !navigator.gpu) throw new Error("WebGPU is not supported in current environment");
|
|
@@ -10884,29 +10884,29 @@ var Kr = k(() => {
|
|
|
10884
10884
|
}
|
|
10885
10885
|
}
|
|
10886
10886
|
if (r === "webnn" && (typeof navigator > "u" || !navigator.ml)) throw new Error("WebNN is not supported in current environment");
|
|
10887
|
-
if (r === "webgpu" &&
|
|
10887
|
+
if (r === "webgpu" && z().webgpuInit((f) => {
|
|
10888
10888
|
a.webgpu.device = f;
|
|
10889
10889
|
}), r === "webnn") {
|
|
10890
10890
|
let f = new (Os(), $t(Ls)).WebNNBackend(a);
|
|
10891
|
-
|
|
10891
|
+
z().webnnInit([f, () => f.reserveTensorId(), (i) => f.releaseTensorId(i), async (i, d, l, m, y) => f.ensureTensor(i, d, l, m, y), (i, d) => {
|
|
10892
10892
|
f.uploadTensor(i, d);
|
|
10893
10893
|
}, async (i, d) => f.downloadTensor(i, d), (i, d) => f.registerMLContext(i, d), !!a.trace]);
|
|
10894
10894
|
}
|
|
10895
10895
|
}, it = /* @__PURE__ */ new Map(), bc = (a) => {
|
|
10896
|
-
let r =
|
|
10896
|
+
let r = z(), s = r.stackSave();
|
|
10897
10897
|
try {
|
|
10898
10898
|
let f = r.PTR_SIZE, i = r.stackAlloc(2 * f);
|
|
10899
|
-
r._OrtGetInputOutputCount(a, i, i + f) !== 0 &&
|
|
10899
|
+
r._OrtGetInputOutputCount(a, i, i + f) !== 0 && $("Can't get session input/output count.");
|
|
10900
10900
|
let l = f === 4 ? "i32" : "i64";
|
|
10901
10901
|
return [Number(r.getValue(i, l)), Number(r.getValue(i + f, l))];
|
|
10902
10902
|
} finally {
|
|
10903
10903
|
r.stackRestore(s);
|
|
10904
10904
|
}
|
|
10905
10905
|
}, Bs = (a, r) => {
|
|
10906
|
-
let s =
|
|
10906
|
+
let s = z(), f = s.stackSave(), i = 0;
|
|
10907
10907
|
try {
|
|
10908
10908
|
let d = s.PTR_SIZE, l = s.stackAlloc(2 * d);
|
|
10909
|
-
s._OrtGetInputOutputMetadata(a, r, l, l + d) !== 0 &&
|
|
10909
|
+
s._OrtGetInputOutputMetadata(a, r, l, l + d) !== 0 && $("Can't get session input/output metadata.");
|
|
10910
10910
|
let y = Number(s.getValue(l, "*"));
|
|
10911
10911
|
i = Number(s.getValue(l + d, "*"));
|
|
10912
10912
|
let w = s.HEAP32[i / 4];
|
|
@@ -10921,11 +10921,11 @@ var Kr = k(() => {
|
|
|
10921
10921
|
s.stackRestore(f), i !== 0 && s._OrtFree(i);
|
|
10922
10922
|
}
|
|
10923
10923
|
}, xt = (a) => {
|
|
10924
|
-
let r =
|
|
10924
|
+
let r = z(), s = r._malloc(a.byteLength);
|
|
10925
10925
|
if (s === 0) throw new Error(`Can't create a session. failed to allocate a buffer of size ${a.byteLength}.`);
|
|
10926
10926
|
return r.HEAPU8.set(a, s), [s, a.byteLength];
|
|
10927
10927
|
}, Qt = async (a, r) => {
|
|
10928
|
-
let s, f, i =
|
|
10928
|
+
let s, f, i = z();
|
|
10929
10929
|
Array.isArray(a) ? [s, f] = a : a.buffer === i.HEAPU8.buffer ? [s, f] = [a.byteOffset, a.byteLength] : [s, f] = xt(a);
|
|
10930
10930
|
let d = 0, l = 0, m = 0, y = [], w = [], T = [];
|
|
10931
10931
|
try {
|
|
@@ -10946,17 +10946,17 @@ var Kr = k(() => {
|
|
|
10946
10946
|
} else i.currentContext = await i.webnnCreateMLContext();
|
|
10947
10947
|
break;
|
|
10948
10948
|
}
|
|
10949
|
-
d = await i._OrtCreateSession(s, f, l), i.webgpuOnCreateSession?.(d), d === 0 &&
|
|
10949
|
+
d = await i._OrtCreateSession(s, f, l), i.webgpuOnCreateSession?.(d), d === 0 && $("Can't create a session."), i.jsepOnCreateSession?.(), i.currentContext && (i.webnnRegisterMLContext(d, i.currentContext), i.currentContext = void 0, i.shouldTransferToMLTensor = true);
|
|
10950
10950
|
let [g, v] = bc(d), S = !!r?.enableGraphCapture, C = [], R = [], H = [], U = [], M = [];
|
|
10951
10951
|
for (let L = 0; L < g; L++) {
|
|
10952
10952
|
let [W, oe, p] = Bs(d, L);
|
|
10953
|
-
W === 0 &&
|
|
10953
|
+
W === 0 && $("Can't get an input name."), w.push(W);
|
|
10954
10954
|
let ne = i.UTF8ToString(W);
|
|
10955
10955
|
C.push(ne), H.push(oe === 0 ? { name: ne, isTensor: false } : { name: ne, isTensor: true, type: or(oe), shape: p });
|
|
10956
10956
|
}
|
|
10957
10957
|
for (let L = 0; L < v; L++) {
|
|
10958
10958
|
let [W, oe, p] = Bs(d, L + g);
|
|
10959
|
-
W === 0 &&
|
|
10959
|
+
W === 0 && $("Can't get an output name."), T.push(W);
|
|
10960
10960
|
let ne = i.UTF8ToString(W);
|
|
10961
10961
|
R.push(ne), U.push(oe === 0 ? { name: ne, isTensor: false } : { name: ne, isTensor: true, type: or(oe), shape: p });
|
|
10962
10962
|
{
|
|
@@ -10975,23 +10975,23 @@ var Kr = k(() => {
|
|
|
10975
10975
|
}
|
|
10976
10976
|
}
|
|
10977
10977
|
let Y = null;
|
|
10978
|
-
return M.some((L) => L === "gpu-buffer" || L === "ml-tensor" || L === "ml-tensor-cpu-output") && (m = i._OrtCreateBinding(d), m === 0 &&
|
|
10978
|
+
return M.some((L) => L === "gpu-buffer" || L === "ml-tensor" || L === "ml-tensor-cpu-output") && (m = i._OrtCreateBinding(d), m === 0 && $("Can't create IO binding."), Y = { handle: m, outputPreferredLocations: M, outputPreferredLocationsEncoded: M.map((L) => L === "ml-tensor-cpu-output" ? "ml-tensor" : L).map((L) => an(L)) }), it.set(d, [d, w, T, Y, S, false]), [d, C, R, H, U];
|
|
10979
10979
|
} catch (g) {
|
|
10980
|
-
throw w.forEach((v) => i._OrtFree(v)), T.forEach((v) => i._OrtFree(v)), m !== 0 && i._OrtReleaseBinding(m) !== 0 &&
|
|
10980
|
+
throw w.forEach((v) => i._OrtFree(v)), T.forEach((v) => i._OrtFree(v)), m !== 0 && i._OrtReleaseBinding(m) !== 0 && $("Can't release IO binding."), d !== 0 && i._OrtReleaseSession(d) !== 0 && $("Can't release session."), g;
|
|
10981
10981
|
} finally {
|
|
10982
|
-
i._free(s), l !== 0 && i._OrtReleaseSessionOptions(l) !== 0 &&
|
|
10982
|
+
i._free(s), l !== 0 && i._OrtReleaseSessionOptions(l) !== 0 && $("Can't release session options."), y.forEach((g) => i._free(g)), i.unmountExternalData?.();
|
|
10983
10983
|
}
|
|
10984
10984
|
}, Zt = (a) => {
|
|
10985
|
-
let r =
|
|
10985
|
+
let r = z(), s = it.get(a);
|
|
10986
10986
|
if (!s) throw new Error(`cannot release session. invalid session id: ${a}`);
|
|
10987
10987
|
let [f, i, d, l, m] = s;
|
|
10988
|
-
l && (m && r._OrtClearBoundOutputs(l.handle) !== 0 &&
|
|
10988
|
+
l && (m && r._OrtClearBoundOutputs(l.handle) !== 0 && $("Can't clear bound outputs."), r._OrtReleaseBinding(l.handle) !== 0 && $("Can't release IO binding.")), r.jsepOnReleaseSession?.(a), r.webnnOnReleaseSession?.(a), r.webgpuOnReleaseSession?.(a), i.forEach((y) => r._OrtFree(y)), d.forEach((y) => r._OrtFree(y)), r._OrtReleaseSession(f) !== 0 && $("Can't release session."), it.delete(a);
|
|
10989
10989
|
}, Ms = async (a, r, s, f, i, d, l = false) => {
|
|
10990
10990
|
if (!a) {
|
|
10991
10991
|
r.push(0);
|
|
10992
10992
|
return;
|
|
10993
10993
|
}
|
|
10994
|
-
let m =
|
|
10994
|
+
let m = z(), y = m.PTR_SIZE, w = a[0], T = a[1], g = a[3], v = g, S, C;
|
|
10995
10995
|
if (w === "string" && (g === "gpu-buffer" || g === "ml-tensor")) throw new Error("String tensor is not supported on GPU.");
|
|
10996
10996
|
if (l && g !== "gpu-buffer") throw new Error(`External buffer must be provided for input/output index ${d} when enableGraphCapture is true.`);
|
|
10997
10997
|
if (g === "gpu-buffer") {
|
|
@@ -11035,12 +11035,12 @@ var Kr = k(() => {
|
|
|
11035
11035
|
try {
|
|
11036
11036
|
T.forEach((M, Y) => m.setValue(H + Y * y, M, y === 4 ? "i32" : "i64"));
|
|
11037
11037
|
let U = m._OrtCreateTensor(He(w), S, C, H, T.length, an(v));
|
|
11038
|
-
U === 0 &&
|
|
11038
|
+
U === 0 && $(`Can't create tensor for input/output. session=${f}, index=${d}.`), r.push(U);
|
|
11039
11039
|
} finally {
|
|
11040
11040
|
m.stackRestore(R);
|
|
11041
11041
|
}
|
|
11042
11042
|
}, Kt = async (a, r, s, f, i, d) => {
|
|
11043
|
-
let l =
|
|
11043
|
+
let l = z(), m = l.PTR_SIZE, y = it.get(a);
|
|
11044
11044
|
if (!y) throw new Error(`cannot run inference. invalid session id: ${a}`);
|
|
11045
11045
|
let w = y[0], T = y[1], g = y[2], v = y[3], S = y[4], C = y[5], R = r.length, H = f.length, U = 0, M = [], Y = [], L = [], W = [], oe = [], p = l.stackSave(), ne = l.stackAlloc(R * m), X = l.stackAlloc(R * m), J = l.stackAlloc(H * m), Ue = l.stackAlloc(H * m);
|
|
11046
11046
|
try {
|
|
@@ -11056,33 +11056,33 @@ var Kr = k(() => {
|
|
|
11056
11056
|
$e("wasm bindInputsOutputs");
|
|
11057
11057
|
for (let q = 0; q < R; q++) {
|
|
11058
11058
|
let we = r[q];
|
|
11059
|
-
await l._OrtBindInput(_, T[we], Y[q]) !== 0 &&
|
|
11059
|
+
await l._OrtBindInput(_, T[we], Y[q]) !== 0 && $(`Can't bind input[${q}] for session=${a}.`);
|
|
11060
11060
|
}
|
|
11061
11061
|
for (let q = 0; q < H; q++) {
|
|
11062
11062
|
let we = f[q];
|
|
11063
|
-
i[q]?.[3] ? (oe.push(L[q]), l._OrtBindOutput(_, g[we], L[q], 0) !== 0 &&
|
|
11063
|
+
i[q]?.[3] ? (oe.push(L[q]), l._OrtBindOutput(_, g[we], L[q], 0) !== 0 && $(`Can't bind pre-allocated output[${q}] for session=${a}.`)) : l._OrtBindOutput(_, g[we], 0, pe[we]) !== 0 && $(`Can't bind output[${q}] to ${ae[q]} for session=${a}.`);
|
|
11064
11064
|
}
|
|
11065
11065
|
ze("wasm bindInputsOutputs"), it.set(a, [w, T, g, v, S, true]);
|
|
11066
11066
|
}
|
|
11067
11067
|
l.jsepOnRunStart?.(w), l.webnnOnRunStart?.(w);
|
|
11068
11068
|
let Q;
|
|
11069
|
-
v ? Q = await l._OrtRunWithBinding(w, v.handle, H, J, U) : Q = await l._OrtRun(w, X, ne, R, Ue, H, J, U), Q !== 0 &&
|
|
11069
|
+
v ? Q = await l._OrtRunWithBinding(w, v.handle, H, J, U) : Q = await l._OrtRun(w, X, ne, R, Ue, H, J, U), Q !== 0 && $("failed to call OrtRun().");
|
|
11070
11070
|
let x = [], A = [];
|
|
11071
11071
|
$e("wasm ProcessOutputTensor");
|
|
11072
11072
|
for (let _ = 0; _ < H; _++) {
|
|
11073
11073
|
let ae = Number(l.getValue(J + _ * m, "*"));
|
|
11074
11074
|
if (ae === L[_] || oe.includes(L[_])) {
|
|
11075
|
-
x.push(i[_]), ae !== L[_] && l._OrtReleaseTensor(ae) !== 0 &&
|
|
11075
|
+
x.push(i[_]), ae !== L[_] && l._OrtReleaseTensor(ae) !== 0 && $("Can't release tensor.");
|
|
11076
11076
|
continue;
|
|
11077
11077
|
}
|
|
11078
11078
|
let pe = l.stackSave(), q = l.stackAlloc(4 * m), we = false, re, se = 0;
|
|
11079
11079
|
try {
|
|
11080
|
-
l._OrtGetTensorData(ae, q, q + m, q + 2 * m, q + 3 * m) !== 0 &&
|
|
11080
|
+
l._OrtGetTensorData(ae, q, q + m, q + 2 * m, q + 3 * m) !== 0 && $(`Can't access output tensor data on index ${_}.`);
|
|
11081
11081
|
let Te = m === 4 ? "i32" : "i64", Ye = Number(l.getValue(q, Te));
|
|
11082
11082
|
se = l.getValue(q + m, "*");
|
|
11083
11083
|
let bt = l.getValue(q + m * 2, "*"), wt = Number(l.getValue(q + m * 3, Te)), Se = [];
|
|
11084
11084
|
for (let ee = 0; ee < wt; ee++) Se.push(Number(l.getValue(bt + ee * m, Te)));
|
|
11085
|
-
l._OrtFree(bt) !== 0 &&
|
|
11085
|
+
l._OrtFree(bt) !== 0 && $("Can't free memory for tensor dims.");
|
|
11086
11086
|
let Ae = Se.reduce((ee, Z) => ee * Z, 1);
|
|
11087
11087
|
re = or(Ye);
|
|
11088
11088
|
let Oe = v?.outputPreferredLocations[f[_]];
|
|
@@ -11090,24 +11090,24 @@ var Kr = k(() => {
|
|
|
11090
11090
|
if (Oe === "gpu-buffer" || Oe === "ml-tensor") throw new Error("String tensor is not supported on GPU.");
|
|
11091
11091
|
let ee = [];
|
|
11092
11092
|
for (let Z = 0; Z < Ae; Z++) {
|
|
11093
|
-
let
|
|
11094
|
-
ee.push(l.UTF8ToString(
|
|
11093
|
+
let G = l.getValue(se + Z * m, "*"), V = l.getValue(se + (Z + 1) * m, "*"), qe = Z === Ae - 1 ? void 0 : V - G;
|
|
11094
|
+
ee.push(l.UTF8ToString(G, qe));
|
|
11095
11095
|
}
|
|
11096
11096
|
x.push([re, Se, ee, "cpu"]);
|
|
11097
11097
|
} else if (Oe === "gpu-buffer" && Ae > 0) {
|
|
11098
11098
|
let ee = l.webgpuGetBuffer;
|
|
11099
11099
|
if (!ee) throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');
|
|
11100
|
-
let Z = ee(se),
|
|
11101
|
-
if (
|
|
11100
|
+
let Z = ee(se), G = mt(Ye, Ae);
|
|
11101
|
+
if (G === void 0 || !ar(re)) throw new Error(`Unsupported data type: ${re}`);
|
|
11102
11102
|
we = true;
|
|
11103
11103
|
{
|
|
11104
11104
|
l.webgpuRegisterBuffer(Z, a, se);
|
|
11105
|
-
let V = l.webgpuCreateDownloader(Z,
|
|
11105
|
+
let V = l.webgpuCreateDownloader(Z, G, a);
|
|
11106
11106
|
x.push([re, Se, { gpuBuffer: Z, download: async () => {
|
|
11107
11107
|
let qe = await V();
|
|
11108
11108
|
return new (at(re))(qe);
|
|
11109
11109
|
}, dispose: () => {
|
|
11110
|
-
l._OrtReleaseTensor(ae) !== 0 &&
|
|
11110
|
+
l._OrtReleaseTensor(ae) !== 0 && $("Can't release tensor.");
|
|
11111
11111
|
} }, "gpu-buffer"]);
|
|
11112
11112
|
}
|
|
11113
11113
|
} else if (Oe === "ml-tensor" && Ae > 0) {
|
|
@@ -11122,8 +11122,8 @@ var Kr = k(() => {
|
|
|
11122
11122
|
} else if (Oe === "ml-tensor-cpu-output" && Ae > 0) {
|
|
11123
11123
|
let ee = l.webnnCreateMLTensorDownloader(se, re)(), Z = x.length;
|
|
11124
11124
|
we = true, A.push((async () => {
|
|
11125
|
-
let
|
|
11126
|
-
return l.webnnReleaseTensorId(se), l._OrtReleaseTensor(ae),
|
|
11125
|
+
let G = [Z, await ee];
|
|
11126
|
+
return l.webnnReleaseTensorId(se), l._OrtReleaseTensor(ae), G;
|
|
11127
11127
|
})()), x.push([re, Se, [], "cpu"]);
|
|
11128
11128
|
} else {
|
|
11129
11129
|
let ee = at(re), Z = new ee(Ae);
|
|
@@ -11133,7 +11133,7 @@ var Kr = k(() => {
|
|
|
11133
11133
|
l.stackRestore(pe), re === "string" && se && l._free(se), we || l._OrtReleaseTensor(ae);
|
|
11134
11134
|
}
|
|
11135
11135
|
}
|
|
11136
|
-
v && !S && (l._OrtClearBoundOutputs(v.handle) !== 0 &&
|
|
11136
|
+
v && !S && (l._OrtClearBoundOutputs(v.handle) !== 0 && $("Can't clear bound outputs."), it.set(a, [w, T, g, v, S, false]));
|
|
11137
11137
|
for (let [_, ae] of await Promise.all(A)) x[_][2] = ae;
|
|
11138
11138
|
return ze("wasm ProcessOutputTensor"), x;
|
|
11139
11139
|
} finally {
|
|
@@ -11144,10 +11144,10 @@ var Kr = k(() => {
|
|
|
11144
11144
|
}), Y.forEach((Q) => l._OrtReleaseTensor(Q)), L.forEach((Q) => l._OrtReleaseTensor(Q)), W.forEach((Q) => l._free(Q)), U !== 0 && l._OrtReleaseRunOptions(U), M.forEach((Q) => l._free(Q));
|
|
11145
11145
|
}
|
|
11146
11146
|
}, er = (a) => {
|
|
11147
|
-
let r =
|
|
11147
|
+
let r = z(), s = it.get(a);
|
|
11148
11148
|
if (!s) throw new Error("invalid session id");
|
|
11149
11149
|
let f = s[0], i = r._OrtEndProfiling(f);
|
|
11150
|
-
i === 0 &&
|
|
11150
|
+
i === 0 && $("Can't get an profile file name."), r._OrtFree(i);
|
|
11151
11151
|
}, tr = (a) => {
|
|
11152
11152
|
let r = [];
|
|
11153
11153
|
for (let s of a) {
|
|
@@ -11380,7 +11380,7 @@ var $s = k(() => {
|
|
|
11380
11380
|
Ve();
|
|
11381
11381
|
Ve();
|
|
11382
11382
|
Ve();
|
|
11383
|
-
var Xa = "1.25.0-dev.
|
|
11383
|
+
var Xa = "1.25.0-dev.20260323-a99aad9d36";
|
|
11384
11384
|
var Tl = Zr;
|
|
11385
11385
|
{
|
|
11386
11386
|
let a = ($s(), $t(Gs)).wasmBackend;
|
|
@@ -11531,10 +11531,10 @@ var tensorToDataURL = (tensor, options) => {
|
|
|
11531
11531
|
for (let i = 0; i < height; i++) {
|
|
11532
11532
|
for (let j = 0; j < width; j++) {
|
|
11533
11533
|
const R = (tensor.data[rTensorPointer++] - normBias[0]) * normMean[0];
|
|
11534
|
-
const
|
|
11534
|
+
const G = (tensor.data[gTensorPointer++] - normBias[1]) * normMean[1];
|
|
11535
11535
|
const B = (tensor.data[bTensorPointer++] - normBias[2]) * normMean[2];
|
|
11536
11536
|
const A = aTensorPointer === -1 ? 255 : (tensor.data[aTensorPointer++] - normBias[3]) * normMean[3];
|
|
11537
|
-
pixels2DContext.fillStyle = "rgba(" + R + "," +
|
|
11537
|
+
pixels2DContext.fillStyle = "rgba(" + R + "," + G + "," + B + "," + A + ")";
|
|
11538
11538
|
pixels2DContext.fillRect(j, i, 1, 1);
|
|
11539
11539
|
}
|
|
11540
11540
|
}
|
|
@@ -16499,6 +16499,7 @@ var processors_exports = {};
|
|
|
16499
16499
|
__export(processors_exports, {
|
|
16500
16500
|
ChatterboxProcessor: () => ChatterboxProcessor,
|
|
16501
16501
|
Florence2Processor: () => Florence2Processor,
|
|
16502
|
+
Gemma3Processor: () => Gemma3Processor,
|
|
16502
16503
|
Gemma3nProcessor: () => Gemma3nProcessor,
|
|
16503
16504
|
Glm46VProcessor: () => Glm46VProcessor,
|
|
16504
16505
|
GraniteSpeechProcessor: () => GraniteSpeechProcessor,
|
|
@@ -19498,6 +19499,7 @@ __export(image_processors_exports, {
|
|
|
19498
19499
|
DonutImageProcessor: () => DonutImageProcessor,
|
|
19499
19500
|
EfficientNetImageProcessor: () => EfficientNetImageProcessor,
|
|
19500
19501
|
GLPNFeatureExtractor: () => GLPNFeatureExtractor,
|
|
19502
|
+
Gemma3ImageProcessor: () => Gemma3ImageProcessor,
|
|
19501
19503
|
Glm46VImageProcessor: () => Glm46VImageProcessor,
|
|
19502
19504
|
GroundingDinoImageProcessor: () => GroundingDinoImageProcessor,
|
|
19503
19505
|
Idefics3ImageProcessor: () => Idefics3ImageProcessor,
|
|
@@ -19682,6 +19684,10 @@ var EfficientNetImageProcessor = class extends ImageProcessor {
|
|
|
19682
19684
|
}
|
|
19683
19685
|
};
|
|
19684
19686
|
|
|
19687
|
+
// src/models/gemma3/image_processing_gemma3.js
|
|
19688
|
+
var Gemma3ImageProcessor = class extends ImageProcessor {
|
|
19689
|
+
};
|
|
19690
|
+
|
|
19685
19691
|
// src/models/qwen2_vl/image_processing_qwen2_vl.js
|
|
19686
19692
|
var Qwen2VLImageProcessor = class extends ImageProcessor {
|
|
19687
19693
|
constructor(config) {
|
|
@@ -20905,6 +20911,48 @@ var Florence2Processor = class extends Processor {
|
|
|
20905
20911
|
}
|
|
20906
20912
|
};
|
|
20907
20913
|
|
|
20914
|
+
// src/models/gemma3/processing_gemma3.js
|
|
20915
|
+
var Gemma3Processor = class extends Processor {
|
|
20916
|
+
static tokenizer_class = AutoTokenizer;
|
|
20917
|
+
static image_processor_class = AutoImageProcessor;
|
|
20918
|
+
static uses_processor_config = true;
|
|
20919
|
+
static uses_chat_template_file = true;
|
|
20920
|
+
constructor(config, components, chat_template) {
|
|
20921
|
+
super(config, components, chat_template);
|
|
20922
|
+
this.image_seq_length = this.config.image_seq_length;
|
|
20923
|
+
const { boi_token, image_token, eoi_token } = this.tokenizer.config;
|
|
20924
|
+
this.boi_token = boi_token;
|
|
20925
|
+
this.image_token = image_token;
|
|
20926
|
+
this.eoi_token = eoi_token;
|
|
20927
|
+
const image_tokens_expanded = image_token.repeat(this.image_seq_length);
|
|
20928
|
+
this.full_image_sequence = `
|
|
20929
|
+
|
|
20930
|
+
${boi_token}${image_tokens_expanded}${eoi_token}
|
|
20931
|
+
|
|
20932
|
+
`;
|
|
20933
|
+
}
|
|
20934
|
+
/**
|
|
20935
|
+
* @param {string|string[]} text
|
|
20936
|
+
* @param {import('../../utils/image.js').RawImage|import('../../utils/image.js').RawImage[]} [images]
|
|
20937
|
+
* @param {Object} [options]
|
|
20938
|
+
*/
|
|
20939
|
+
async _call(text, images = null, options = {}) {
|
|
20940
|
+
if (typeof text === "string") {
|
|
20941
|
+
text = [text];
|
|
20942
|
+
}
|
|
20943
|
+
let image_inputs;
|
|
20944
|
+
if (images) {
|
|
20945
|
+
image_inputs = await this.image_processor(images, options);
|
|
20946
|
+
text = text.map((prompt) => prompt.replaceAll(this.boi_token, this.full_image_sequence));
|
|
20947
|
+
}
|
|
20948
|
+
const text_inputs = this.tokenizer(text, options);
|
|
20949
|
+
return {
|
|
20950
|
+
...text_inputs,
|
|
20951
|
+
...image_inputs
|
|
20952
|
+
};
|
|
20953
|
+
}
|
|
20954
|
+
};
|
|
20955
|
+
|
|
20908
20956
|
// src/models/gemma3n/processing_gemma3n.js
|
|
20909
20957
|
var Gemma3nProcessor = class extends Processor {
|
|
20910
20958
|
static image_processor_class = AutoImageProcessor;
|
|
@@ -24085,8 +24133,7 @@ var MODEL_TYPES = {
|
|
|
24085
24133
|
ImageAudioTextToText: 13,
|
|
24086
24134
|
Supertonic: 14,
|
|
24087
24135
|
Chatterbox: 15,
|
|
24088
|
-
|
|
24089
|
-
VoxtralRealtime: 17
|
|
24136
|
+
VoxtralRealtime: 16
|
|
24090
24137
|
};
|
|
24091
24138
|
var MODEL_TYPE_CONFIG = {
|
|
24092
24139
|
[MODEL_TYPES.DecoderOnly]: {
|
|
@@ -24143,12 +24190,12 @@ var MODEL_TYPE_CONFIG = {
|
|
|
24143
24190
|
can_generate: true,
|
|
24144
24191
|
forward: image_text_to_text_forward,
|
|
24145
24192
|
prepare_inputs: multimodal_text_to_text_prepare_inputs_for_generation,
|
|
24146
|
-
sessions: (config) => {
|
|
24193
|
+
sessions: (config, options, textOnly) => {
|
|
24147
24194
|
const s = {
|
|
24148
24195
|
embed_tokens: "embed_tokens",
|
|
24149
|
-
vision_encoder: "vision_encoder",
|
|
24150
24196
|
decoder_model_merged: "decoder_model_merged"
|
|
24151
24197
|
};
|
|
24198
|
+
if (!textOnly) s["vision_encoder"] = "vision_encoder";
|
|
24152
24199
|
if (config.is_encoder_decoder) s["model"] = "encoder_model";
|
|
24153
24200
|
return s;
|
|
24154
24201
|
},
|
|
@@ -24170,12 +24217,17 @@ var MODEL_TYPE_CONFIG = {
|
|
|
24170
24217
|
[MODEL_TYPES.ImageAudioTextToText]: {
|
|
24171
24218
|
can_generate: true,
|
|
24172
24219
|
prepare_inputs: multimodal_text_to_text_prepare_inputs_for_generation,
|
|
24173
|
-
sessions: () =>
|
|
24174
|
-
|
|
24175
|
-
|
|
24176
|
-
|
|
24177
|
-
|
|
24178
|
-
|
|
24220
|
+
sessions: (config, options, textOnly) => {
|
|
24221
|
+
const s = {
|
|
24222
|
+
embed_tokens: "embed_tokens",
|
|
24223
|
+
decoder_model_merged: "decoder_model_merged"
|
|
24224
|
+
};
|
|
24225
|
+
if (!textOnly) {
|
|
24226
|
+
s["audio_encoder"] = "audio_encoder";
|
|
24227
|
+
s["vision_encoder"] = "vision_encoder";
|
|
24228
|
+
}
|
|
24229
|
+
return s;
|
|
24230
|
+
},
|
|
24179
24231
|
optional_configs: { generation_config: "generation_config.json" }
|
|
24180
24232
|
},
|
|
24181
24233
|
[MODEL_TYPES.Phi3V]: {
|
|
@@ -24226,14 +24278,6 @@ var MODEL_TYPE_CONFIG = {
|
|
|
24226
24278
|
cache_sessions: { model: true },
|
|
24227
24279
|
optional_configs: { generation_config: "generation_config.json" }
|
|
24228
24280
|
},
|
|
24229
|
-
[MODEL_TYPES.MultimodalLanguageModelOnly]: {
|
|
24230
|
-
can_generate: true,
|
|
24231
|
-
forward: image_text_to_text_forward,
|
|
24232
|
-
prepare_inputs: multimodal_text_to_text_prepare_inputs_for_generation,
|
|
24233
|
-
sessions: () => ({ embed_tokens: "embed_tokens", decoder_model_merged: "decoder_model_merged" }),
|
|
24234
|
-
cache_sessions: { decoder_model_merged: true },
|
|
24235
|
-
optional_configs: { generation_config: "generation_config.json" }
|
|
24236
|
-
},
|
|
24237
24281
|
[MODEL_TYPES.VoxtralRealtime]: {
|
|
24238
24282
|
can_generate: true,
|
|
24239
24283
|
prepare_inputs: decoder_prepare_inputs_for_generation,
|
|
@@ -24259,6 +24303,19 @@ function getSessionsConfig(modelType, config, options = {}) {
|
|
|
24259
24303
|
optional_configs: typeConfig.optional_configs
|
|
24260
24304
|
};
|
|
24261
24305
|
}
|
|
24306
|
+
function resolveTypeConfig(modelName, config) {
|
|
24307
|
+
let modelType = MODEL_TYPE_MAPPING.get(modelName);
|
|
24308
|
+
let textOnly = false;
|
|
24309
|
+
const nativeArch = config?.architectures?.[0];
|
|
24310
|
+
if (nativeArch && nativeArch !== modelName && modelName?.endsWith("ForCausalLM") && nativeArch.endsWith("ForConditionalGeneration")) {
|
|
24311
|
+
const nativeType = MODEL_TYPE_MAPPING.get(nativeArch);
|
|
24312
|
+
if (nativeType !== void 0) {
|
|
24313
|
+
modelType = nativeType;
|
|
24314
|
+
textOnly = true;
|
|
24315
|
+
}
|
|
24316
|
+
}
|
|
24317
|
+
return { typeConfig: MODEL_TYPE_CONFIG[modelType] ?? MODEL_TYPE_CONFIG.default, textOnly, modelType };
|
|
24318
|
+
}
|
|
24262
24319
|
var MODEL_TYPE_MAPPING = /* @__PURE__ */ new Map();
|
|
24263
24320
|
var MODEL_NAME_TO_CLASS_MAPPING = /* @__PURE__ */ new Map();
|
|
24264
24321
|
var MODEL_CLASS_TO_NAME_MAPPING = /* @__PURE__ */ new Map();
|
|
@@ -24278,8 +24335,7 @@ var PreTrainedModel = class extends Callable2 {
|
|
|
24278
24335
|
this.sessions = sessions;
|
|
24279
24336
|
this.configs = configs;
|
|
24280
24337
|
const modelName = MODEL_CLASS_TO_NAME_MAPPING.get(this.constructor);
|
|
24281
|
-
const
|
|
24282
|
-
const typeConfig = MODEL_TYPE_CONFIG[modelType] ?? MODEL_TYPE_CONFIG.default;
|
|
24338
|
+
const { typeConfig } = resolveTypeConfig(modelName, config);
|
|
24283
24339
|
this.can_generate = typeConfig.can_generate;
|
|
24284
24340
|
this._forward = typeConfig.forward;
|
|
24285
24341
|
this._prepare_inputs_for_generation = typeConfig.prepare_inputs;
|
|
@@ -24342,9 +24398,8 @@ var PreTrainedModel = class extends Callable2 {
|
|
|
24342
24398
|
session_options
|
|
24343
24399
|
};
|
|
24344
24400
|
const modelName = MODEL_CLASS_TO_NAME_MAPPING.get(this);
|
|
24345
|
-
const modelType = MODEL_TYPE_MAPPING.get(modelName);
|
|
24346
24401
|
config = options.config = await AutoConfig.from_pretrained(pretrained_model_name_or_path, options);
|
|
24347
|
-
const typeConfig
|
|
24402
|
+
const { typeConfig, textOnly, modelType } = resolveTypeConfig(modelName, config);
|
|
24348
24403
|
if (modelType === void 0) {
|
|
24349
24404
|
const type = modelName ?? config?.model_type;
|
|
24350
24405
|
if (type !== "custom") {
|
|
@@ -24353,7 +24408,7 @@ var PreTrainedModel = class extends Callable2 {
|
|
|
24353
24408
|
);
|
|
24354
24409
|
}
|
|
24355
24410
|
}
|
|
24356
|
-
const sessions = typeConfig.sessions(config, options);
|
|
24411
|
+
const sessions = typeConfig.sessions(config, options, textOnly);
|
|
24357
24412
|
const promises = [
|
|
24358
24413
|
constructSessions(pretrained_model_name_or_path, sessions, options, typeConfig.cache_sessions)
|
|
24359
24414
|
];
|
|
@@ -25408,6 +25463,7 @@ __export(models_exports, {
|
|
|
25408
25463
|
Gemma2Model: () => Gemma2Model,
|
|
25409
25464
|
Gemma2PreTrainedModel: () => Gemma2PreTrainedModel,
|
|
25410
25465
|
Gemma3ForCausalLM: () => Gemma3ForCausalLM,
|
|
25466
|
+
Gemma3ForConditionalGeneration: () => Gemma3ForConditionalGeneration,
|
|
25411
25467
|
Gemma3Model: () => Gemma3Model,
|
|
25412
25468
|
Gemma3PreTrainedModel: () => Gemma3PreTrainedModel,
|
|
25413
25469
|
Gemma3nForCausalLM: () => Gemma3nForCausalLM,
|
|
@@ -27126,12 +27182,35 @@ var Gemma2Model = class extends Gemma2PreTrainedModel {
|
|
|
27126
27182
|
var Gemma2ForCausalLM = class extends Gemma2PreTrainedModel {
|
|
27127
27183
|
};
|
|
27128
27184
|
|
|
27185
|
+
// src/models/llava/modeling_llava.js
|
|
27186
|
+
var LlavaPreTrainedModel = class extends PreTrainedModel {
|
|
27187
|
+
forward_params = ["input_ids", "attention_mask", "pixel_values", "position_ids", "past_key_values"];
|
|
27188
|
+
};
|
|
27189
|
+
var LlavaForConditionalGeneration = class extends LlavaPreTrainedModel {
|
|
27190
|
+
_merge_input_ids_with_image_features(kwargs) {
|
|
27191
|
+
const vision_hidden_size = kwargs.image_features.dims.at(-1);
|
|
27192
|
+
const reshaped_image_hidden_states = kwargs.image_features.view(-1, vision_hidden_size);
|
|
27193
|
+
return default_merge_input_ids_with_image_features({
|
|
27194
|
+
// @ts-ignore
|
|
27195
|
+
image_token_id: this.config.image_token_index ?? this.config.image_token_id,
|
|
27196
|
+
...kwargs,
|
|
27197
|
+
image_features: reshaped_image_hidden_states
|
|
27198
|
+
});
|
|
27199
|
+
}
|
|
27200
|
+
};
|
|
27201
|
+
var Moondream1ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
27202
|
+
};
|
|
27203
|
+
var LlavaQwen2ForCausalLM = class extends LlavaForConditionalGeneration {
|
|
27204
|
+
};
|
|
27205
|
+
|
|
27129
27206
|
// src/models/gemma3/modeling_gemma3.js
|
|
27130
27207
|
var Gemma3PreTrainedModel = class extends PreTrainedModel {
|
|
27131
27208
|
};
|
|
27132
27209
|
var Gemma3Model = class extends Gemma3PreTrainedModel {
|
|
27133
27210
|
};
|
|
27134
|
-
var
|
|
27211
|
+
var Gemma3ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
27212
|
+
};
|
|
27213
|
+
var Gemma3ForCausalLM = class extends Gemma3ForConditionalGeneration {
|
|
27135
27214
|
};
|
|
27136
27215
|
|
|
27137
27216
|
// src/models/gemma3n/modeling_gemma3n.js
|
|
@@ -27314,8 +27393,8 @@ var Qwen2VLForConditionalGeneration = class extends Qwen2VLPreTrainedModel {
|
|
|
27314
27393
|
for (let x = 0; x < 3; ++x) {
|
|
27315
27394
|
for (const val of llm_pos_ids_list) {
|
|
27316
27395
|
const seg_len = val.length / 3;
|
|
27317
|
-
for (let
|
|
27318
|
-
llm_positions[index++] = val[
|
|
27396
|
+
for (let z2 = x * seg_len; z2 < (x + 1) * seg_len; ++z2) {
|
|
27397
|
+
llm_positions[index++] = val[z2];
|
|
27319
27398
|
}
|
|
27320
27399
|
}
|
|
27321
27400
|
}
|
|
@@ -27497,40 +27576,45 @@ var Qwen2VLForConditionalGeneration = class extends Qwen2VLPreTrainedModel {
|
|
|
27497
27576
|
});
|
|
27498
27577
|
}
|
|
27499
27578
|
prepare_inputs_for_generation(input_ids, model_inputs, generation_config) {
|
|
27500
|
-
if (model_inputs.attention_mask
|
|
27501
|
-
|
|
27502
|
-
|
|
27579
|
+
if (!model_inputs.attention_mask || model_inputs.position_ids) {
|
|
27580
|
+
return model_inputs;
|
|
27581
|
+
}
|
|
27582
|
+
const session = this.sessions["decoder_model_merged"] ?? this.sessions["model"];
|
|
27583
|
+
if (!session.inputNames.includes("position_ids")) {
|
|
27584
|
+
return model_inputs;
|
|
27585
|
+
}
|
|
27586
|
+
if (!model_inputs.past_key_values) {
|
|
27587
|
+
[model_inputs.position_ids, model_inputs.rope_deltas] = this.get_rope_index(
|
|
27588
|
+
model_inputs.input_ids,
|
|
27589
|
+
model_inputs.image_grid_thw,
|
|
27590
|
+
model_inputs.video_grid_thw,
|
|
27591
|
+
model_inputs.attention_mask
|
|
27592
|
+
);
|
|
27593
|
+
} else {
|
|
27594
|
+
model_inputs.pixel_values = null;
|
|
27595
|
+
const past_length = model_inputs.past_key_values.get_seq_length();
|
|
27596
|
+
if (past_length < model_inputs.input_ids.dims[1]) {
|
|
27597
|
+
const [full_position_ids, rope_deltas] = this.get_rope_index(
|
|
27503
27598
|
model_inputs.input_ids,
|
|
27504
27599
|
model_inputs.image_grid_thw,
|
|
27505
27600
|
model_inputs.video_grid_thw,
|
|
27506
27601
|
model_inputs.attention_mask
|
|
27507
27602
|
);
|
|
27603
|
+
model_inputs.rope_deltas = rope_deltas;
|
|
27604
|
+
model_inputs.position_ids = full_position_ids.slice(null, null, [past_length, null]);
|
|
27605
|
+
model_inputs.input_ids = model_inputs.input_ids.slice(null, [past_length, null]);
|
|
27508
27606
|
} else {
|
|
27509
|
-
model_inputs.
|
|
27510
|
-
|
|
27511
|
-
if (past_length < model_inputs.input_ids.dims[1]) {
|
|
27512
|
-
const [full_position_ids, rope_deltas] = this.get_rope_index(
|
|
27607
|
+
if (!model_inputs.rope_deltas) {
|
|
27608
|
+
[, model_inputs.rope_deltas] = this.get_rope_index(
|
|
27513
27609
|
model_inputs.input_ids,
|
|
27514
27610
|
model_inputs.image_grid_thw,
|
|
27515
27611
|
model_inputs.video_grid_thw,
|
|
27516
27612
|
model_inputs.attention_mask
|
|
27517
27613
|
);
|
|
27518
|
-
model_inputs.rope_deltas = rope_deltas;
|
|
27519
|
-
model_inputs.position_ids = full_position_ids.slice(null, null, [past_length, null]);
|
|
27520
|
-
model_inputs.input_ids = model_inputs.input_ids.slice(null, [past_length, null]);
|
|
27521
|
-
} else {
|
|
27522
|
-
if (!model_inputs.rope_deltas) {
|
|
27523
|
-
[, model_inputs.rope_deltas] = this.get_rope_index(
|
|
27524
|
-
model_inputs.input_ids,
|
|
27525
|
-
model_inputs.image_grid_thw,
|
|
27526
|
-
model_inputs.video_grid_thw,
|
|
27527
|
-
model_inputs.attention_mask
|
|
27528
|
-
);
|
|
27529
|
-
}
|
|
27530
|
-
const delta = BigInt(past_length);
|
|
27531
|
-
const rope_deltas_list = model_inputs.rope_deltas.map((x) => delta + x);
|
|
27532
|
-
model_inputs.position_ids = stack([rope_deltas_list, rope_deltas_list, rope_deltas_list], 0);
|
|
27533
27614
|
}
|
|
27615
|
+
const delta = BigInt(past_length);
|
|
27616
|
+
const rope_deltas_list = model_inputs.rope_deltas.map((x) => delta + x);
|
|
27617
|
+
model_inputs.position_ids = stack([rope_deltas_list, rope_deltas_list, rope_deltas_list], 0);
|
|
27534
27618
|
}
|
|
27535
27619
|
}
|
|
27536
27620
|
return model_inputs;
|
|
@@ -27813,27 +27897,6 @@ var HunYuanDenseV1Model = class extends HunYuanDenseV1PreTrainedModel {
|
|
|
27813
27897
|
var HunYuanDenseV1ForCausalLM = class extends HunYuanDenseV1PreTrainedModel {
|
|
27814
27898
|
};
|
|
27815
27899
|
|
|
27816
|
-
// src/models/llava/modeling_llava.js
|
|
27817
|
-
var LlavaPreTrainedModel = class extends PreTrainedModel {
|
|
27818
|
-
forward_params = ["input_ids", "attention_mask", "pixel_values", "position_ids", "past_key_values"];
|
|
27819
|
-
};
|
|
27820
|
-
var LlavaForConditionalGeneration = class extends LlavaPreTrainedModel {
|
|
27821
|
-
_merge_input_ids_with_image_features(kwargs) {
|
|
27822
|
-
const vision_hidden_size = kwargs.image_features.dims.at(-1);
|
|
27823
|
-
const reshaped_image_hidden_states = kwargs.image_features.view(-1, vision_hidden_size);
|
|
27824
|
-
return default_merge_input_ids_with_image_features({
|
|
27825
|
-
// @ts-ignore
|
|
27826
|
-
image_token_id: this.config.image_token_index ?? this.config.image_token_id,
|
|
27827
|
-
...kwargs,
|
|
27828
|
-
image_features: reshaped_image_hidden_states
|
|
27829
|
-
});
|
|
27830
|
-
}
|
|
27831
|
-
};
|
|
27832
|
-
var Moondream1ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
27833
|
-
};
|
|
27834
|
-
var LlavaQwen2ForCausalLM = class extends LlavaForConditionalGeneration {
|
|
27835
|
-
};
|
|
27836
|
-
|
|
27837
27900
|
// src/models/idefics3/modeling_idefics3.js
|
|
27838
27901
|
var Idefics3ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
27839
27902
|
forward_params = [
|
|
@@ -30731,6 +30794,7 @@ var MODEL_FOR_CAUSAL_LM_MAPPING_NAMES = /* @__PURE__ */ new Map([
|
|
|
30731
30794
|
["qwen3_vl", "Qwen3VLForCausalLM"],
|
|
30732
30795
|
["qwen3_vl_moe", "Qwen3VLMoeForCausalLM"],
|
|
30733
30796
|
["qwen3_5", "Qwen3_5ForCausalLM"],
|
|
30797
|
+
["qwen3_5_text", "Qwen3_5ForCausalLM"],
|
|
30734
30798
|
["qwen3_5_moe", "Qwen3_5MoeForCausalLM"],
|
|
30735
30799
|
["gemma3n", "Gemma3nForCausalLM"],
|
|
30736
30800
|
["phi", "PhiForCausalLM"],
|
|
@@ -30818,6 +30882,7 @@ var MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES = /* @__PURE__ */ new Map([
|
|
|
30818
30882
|
["smolvlm", "SmolVLMForConditionalGeneration"],
|
|
30819
30883
|
["paligemma", "PaliGemmaForConditionalGeneration"],
|
|
30820
30884
|
["llava_qwen2", "LlavaQwen2ForCausalLM"],
|
|
30885
|
+
["gemma3", "Gemma3ForConditionalGeneration"],
|
|
30821
30886
|
["gemma3n", "Gemma3nForConditionalGeneration"],
|
|
30822
30887
|
["mistral3", "Mistral3ForConditionalGeneration"],
|
|
30823
30888
|
["lighton_ocr", "LightOnOcrForConditionalGeneration"],
|
|
@@ -31012,13 +31077,6 @@ var CUSTOM_MAPPING = [
|
|
|
31012
31077
|
],
|
|
31013
31078
|
["SupertonicForConditionalGeneration", SupertonicForConditionalGeneration, MODEL_TYPES.Supertonic],
|
|
31014
31079
|
["ChatterboxModel", ChatterboxModel, MODEL_TYPES.Chatterbox],
|
|
31015
|
-
["Qwen2VLForCausalLM", Qwen2VLForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31016
|
-
["Qwen2_5_VLForCausalLM", Qwen2_5_VLForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31017
|
-
["Qwen3VLForCausalLM", Qwen3VLForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31018
|
-
["Qwen3VLMoeForCausalLM", Qwen3VLMoeForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31019
|
-
["Qwen3_5ForCausalLM", Qwen3_5ForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31020
|
-
["Qwen3_5MoeForCausalLM", Qwen3_5MoeForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31021
|
-
["Gemma3nForCausalLM", Gemma3nForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31022
31080
|
[
|
|
31023
31081
|
"VoxtralRealtimeForConditionalGeneration",
|
|
31024
31082
|
VoxtralRealtimeForConditionalGeneration,
|
|
@@ -32700,6 +32758,41 @@ var TASK_ALIASES = Object.freeze({
|
|
|
32700
32758
|
embeddings: "feature-extraction"
|
|
32701
32759
|
});
|
|
32702
32760
|
|
|
32761
|
+
// src/utils/model_registry/resolve_model_type.js
|
|
32762
|
+
function resolve_model_type(config, { warn = true } = {}) {
|
|
32763
|
+
const architectures = (
|
|
32764
|
+
/** @type {string[]} */
|
|
32765
|
+
config.architectures || []
|
|
32766
|
+
);
|
|
32767
|
+
for (const arch of architectures) {
|
|
32768
|
+
const mappedType = MODEL_TYPE_MAPPING.get(arch);
|
|
32769
|
+
if (mappedType !== void 0) {
|
|
32770
|
+
return mappedType;
|
|
32771
|
+
}
|
|
32772
|
+
}
|
|
32773
|
+
if (config.model_type) {
|
|
32774
|
+
const mappedType = MODEL_TYPE_MAPPING.get(config.model_type);
|
|
32775
|
+
if (mappedType !== void 0) {
|
|
32776
|
+
return mappedType;
|
|
32777
|
+
}
|
|
32778
|
+
for (const mapping of Object.values(MODEL_MAPPING_NAMES)) {
|
|
32779
|
+
if (mapping.has(config.model_type)) {
|
|
32780
|
+
const resolved = MODEL_TYPE_MAPPING.get(mapping.get(config.model_type));
|
|
32781
|
+
if (resolved !== void 0) {
|
|
32782
|
+
return resolved;
|
|
32783
|
+
}
|
|
32784
|
+
}
|
|
32785
|
+
}
|
|
32786
|
+
}
|
|
32787
|
+
if (warn) {
|
|
32788
|
+
const archList = architectures.length > 0 ? architectures.join(", ") : "(none)";
|
|
32789
|
+
logger.warn(
|
|
32790
|
+
`[resolve_model_type] Architecture(s) not found in MODEL_TYPE_MAPPING: [${archList}] for model type '${config.model_type}'. Falling back to EncoderOnly (single model.onnx file). If you encounter issues, please report at: ${GITHUB_ISSUE_URL}`
|
|
32791
|
+
);
|
|
32792
|
+
}
|
|
32793
|
+
return MODEL_TYPES.EncoderOnly;
|
|
32794
|
+
}
|
|
32795
|
+
|
|
32703
32796
|
// src/utils/model_registry/get_model_files.js
|
|
32704
32797
|
function get_config(modelId, { config = null, cache_dir = null, local_files_only = false, revision = "main" } = {}) {
|
|
32705
32798
|
if (config !== null) {
|
|
@@ -32722,43 +32815,7 @@ async function get_model_files(modelId, { config = null, dtype: overrideDtype =
|
|
|
32722
32815
|
const subfolder = "onnx";
|
|
32723
32816
|
const rawDevice = overrideDevice ?? custom_config.device;
|
|
32724
32817
|
let dtype = overrideDtype ?? custom_config.dtype;
|
|
32725
|
-
|
|
32726
|
-
const architectures = (
|
|
32727
|
-
/** @type {string[]} */
|
|
32728
|
-
config.architectures || []
|
|
32729
|
-
);
|
|
32730
|
-
let foundInMapping = false;
|
|
32731
|
-
for (const arch of architectures) {
|
|
32732
|
-
const mappedType = MODEL_TYPE_MAPPING.get(arch);
|
|
32733
|
-
if (mappedType !== void 0) {
|
|
32734
|
-
modelType = mappedType;
|
|
32735
|
-
foundInMapping = true;
|
|
32736
|
-
break;
|
|
32737
|
-
}
|
|
32738
|
-
}
|
|
32739
|
-
if (!foundInMapping && config.model_type) {
|
|
32740
|
-
const mappedType = MODEL_TYPE_MAPPING.get(config.model_type);
|
|
32741
|
-
if (mappedType !== void 0) {
|
|
32742
|
-
modelType = mappedType;
|
|
32743
|
-
foundInMapping = true;
|
|
32744
|
-
}
|
|
32745
|
-
if (!foundInMapping) {
|
|
32746
|
-
for (const mapping of Object.values(MODEL_MAPPING_NAMES)) {
|
|
32747
|
-
if (mapping.has(config.model_type)) {
|
|
32748
|
-
modelType = MODEL_TYPE_MAPPING.get(mapping.get(config.model_type));
|
|
32749
|
-
foundInMapping = true;
|
|
32750
|
-
break;
|
|
32751
|
-
}
|
|
32752
|
-
}
|
|
32753
|
-
}
|
|
32754
|
-
}
|
|
32755
|
-
if (!foundInMapping) {
|
|
32756
|
-
const archList = architectures.length > 0 ? architectures.join(", ") : "(none)";
|
|
32757
|
-
logger.warn(
|
|
32758
|
-
`[get_model_files] Architecture(s) not found in MODEL_TYPE_MAPPING: [${archList}] for model type '${config.model_type}'. Falling back to EncoderOnly (single model.onnx file). If you encounter issues, please report at: ${GITHUB_ISSUE_URL}`
|
|
32759
|
-
);
|
|
32760
|
-
modelType = MODEL_TYPES.EncoderOnly;
|
|
32761
|
-
}
|
|
32818
|
+
const modelType = resolve_model_type(config);
|
|
32762
32819
|
const add_model_file = (fileName, baseName = null) => {
|
|
32763
32820
|
baseName = baseName ?? fileName;
|
|
32764
32821
|
const selectedDevice = selectDevice(rawDevice, fileName);
|
|
@@ -33345,6 +33402,31 @@ async function clear_pipeline_cache(task, modelId, options = {}) {
|
|
|
33345
33402
|
return await clear_files_from_cache(modelId, files, options);
|
|
33346
33403
|
}
|
|
33347
33404
|
|
|
33405
|
+
// src/utils/model_registry/get_available_dtypes.js
|
|
33406
|
+
var CONCRETE_DTYPES = Object.keys(DEFAULT_DTYPE_SUFFIX_MAPPING);
|
|
33407
|
+
async function get_available_dtypes(modelId, { config = null, model_file_name = null, revision = "main", cache_dir = null, local_files_only = false } = {}) {
|
|
33408
|
+
config = await get_config(modelId, { config, cache_dir, local_files_only, revision });
|
|
33409
|
+
const subfolder = "onnx";
|
|
33410
|
+
const modelType = resolve_model_type(config);
|
|
33411
|
+
const { sessions } = getSessionsConfig(modelType, config, { model_file_name });
|
|
33412
|
+
const baseNames = Object.values(sessions);
|
|
33413
|
+
const metadataOptions = { revision, cache_dir, local_files_only };
|
|
33414
|
+
const probeResults = await Promise.all(
|
|
33415
|
+
CONCRETE_DTYPES.map(async (dtype) => {
|
|
33416
|
+
const suffix = DEFAULT_DTYPE_SUFFIX_MAPPING[dtype] ?? "";
|
|
33417
|
+
const allExist = await Promise.all(
|
|
33418
|
+
baseNames.map(async (baseName) => {
|
|
33419
|
+
const filename = `${subfolder}/${baseName}${suffix}.onnx`;
|
|
33420
|
+
const metadata = await get_file_metadata(modelId, filename, metadataOptions);
|
|
33421
|
+
return metadata.exists;
|
|
33422
|
+
})
|
|
33423
|
+
);
|
|
33424
|
+
return { dtype, available: allExist.every(Boolean) };
|
|
33425
|
+
})
|
|
33426
|
+
);
|
|
33427
|
+
return probeResults.filter((r) => r.available).map((r) => r.dtype);
|
|
33428
|
+
}
|
|
33429
|
+
|
|
33348
33430
|
// src/utils/model_registry/ModelRegistry.js
|
|
33349
33431
|
var ModelRegistry = class {
|
|
33350
33432
|
/**
|
|
@@ -33431,6 +33513,29 @@ var ModelRegistry = class {
|
|
|
33431
33513
|
static async get_processor_files(modelId) {
|
|
33432
33514
|
return get_processor_files(modelId);
|
|
33433
33515
|
}
|
|
33516
|
+
/**
|
|
33517
|
+
* Detects which quantization levels (dtypes) are available for a model
|
|
33518
|
+
* by checking which ONNX files exist on the hub or locally.
|
|
33519
|
+
*
|
|
33520
|
+
* A dtype is considered available if all required model session files
|
|
33521
|
+
* exist for that dtype.
|
|
33522
|
+
*
|
|
33523
|
+
* @param {string} modelId - The model id (e.g., "onnx-community/all-MiniLM-L6-v2-ONNX")
|
|
33524
|
+
* @param {Object} [options] - Optional parameters
|
|
33525
|
+
* @param {import('../../configs.js').PretrainedConfig} [options.config=null] - Pre-loaded config
|
|
33526
|
+
* @param {string} [options.model_file_name=null] - Override the model file name (excluding .onnx suffix)
|
|
33527
|
+
* @param {string} [options.revision='main'] - Model revision
|
|
33528
|
+
* @param {string} [options.cache_dir=null] - Custom cache directory
|
|
33529
|
+
* @param {boolean} [options.local_files_only=false] - Only check local files
|
|
33530
|
+
* @returns {Promise<string[]>} Array of available dtype strings (e.g., ['fp32', 'fp16', 'q4', 'q8'])
|
|
33531
|
+
*
|
|
33532
|
+
* @example
|
|
33533
|
+
* const dtypes = await ModelRegistry.get_available_dtypes('onnx-community/all-MiniLM-L6-v2-ONNX');
|
|
33534
|
+
* console.log(dtypes); // ['fp32', 'fp16', 'int8', 'uint8', 'q8', 'q4']
|
|
33535
|
+
*/
|
|
33536
|
+
static async get_available_dtypes(modelId, options = {}) {
|
|
33537
|
+
return get_available_dtypes(modelId, options);
|
|
33538
|
+
}
|
|
33434
33539
|
/**
|
|
33435
33540
|
* Quickly checks if a model is fully cached by verifying `config.json` is present,
|
|
33436
33541
|
* then confirming all required files are cached.
|
|
@@ -33877,8 +33982,11 @@ export {
|
|
|
33877
33982
|
Gemma2Model,
|
|
33878
33983
|
Gemma2PreTrainedModel,
|
|
33879
33984
|
Gemma3ForCausalLM,
|
|
33985
|
+
Gemma3ForConditionalGeneration,
|
|
33986
|
+
Gemma3ImageProcessor,
|
|
33880
33987
|
Gemma3Model,
|
|
33881
33988
|
Gemma3PreTrainedModel,
|
|
33989
|
+
Gemma3Processor,
|
|
33882
33990
|
Gemma3nAudioFeatureExtractor,
|
|
33883
33991
|
Gemma3nForCausalLM,
|
|
33884
33992
|
Gemma3nForConditionalGeneration,
|
|
@@ -34497,7 +34605,7 @@ export {
|
|
|
34497
34605
|
|
|
34498
34606
|
onnxruntime-web/dist/ort.webgpu.bundle.min.mjs:
|
|
34499
34607
|
(*!
|
|
34500
|
-
* ONNX Runtime Web v1.25.0-dev.
|
|
34608
|
+
* ONNX Runtime Web v1.25.0-dev.20260323-a99aad9d36
|
|
34501
34609
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
34502
34610
|
* Licensed under the MIT License.
|
|
34503
34611
|
*)
|