@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
|
@@ -329,8 +329,11 @@ __export(transformers_exports, {
|
|
|
329
329
|
Gemma2Model: () => Gemma2Model,
|
|
330
330
|
Gemma2PreTrainedModel: () => Gemma2PreTrainedModel,
|
|
331
331
|
Gemma3ForCausalLM: () => Gemma3ForCausalLM,
|
|
332
|
+
Gemma3ForConditionalGeneration: () => Gemma3ForConditionalGeneration,
|
|
333
|
+
Gemma3ImageProcessor: () => Gemma3ImageProcessor,
|
|
332
334
|
Gemma3Model: () => Gemma3Model,
|
|
333
335
|
Gemma3PreTrainedModel: () => Gemma3PreTrainedModel,
|
|
336
|
+
Gemma3Processor: () => Gemma3Processor,
|
|
334
337
|
Gemma3nAudioFeatureExtractor: () => Gemma3nAudioFeatureExtractor,
|
|
335
338
|
Gemma3nForCausalLM: () => Gemma3nForCausalLM,
|
|
336
339
|
Gemma3nForConditionalGeneration: () => Gemma3nForConditionalGeneration,
|
|
@@ -952,7 +955,7 @@ var import_node_fs = __toESM(require("fs"), 1);
|
|
|
952
955
|
var import_node_path = __toESM(require("path"), 1);
|
|
953
956
|
var import_node_url = __toESM(require("url"), 1);
|
|
954
957
|
var import_meta = {};
|
|
955
|
-
var VERSION = "4.0.0-next.
|
|
958
|
+
var VERSION = "4.0.0-next.9";
|
|
956
959
|
var HAS_SELF = typeof self !== "undefined";
|
|
957
960
|
var IS_FS_AVAILABLE = !isEmpty(import_node_fs.default);
|
|
958
961
|
var IS_PATH_AVAILABLE = !isEmpty(import_node_path.default);
|
|
@@ -6691,14 +6694,14 @@ var Random = class {
|
|
|
6691
6694
|
* @returns {number} A normally distributed random value.
|
|
6692
6695
|
*/
|
|
6693
6696
|
gauss(mu = 0, sigma = 1) {
|
|
6694
|
-
let
|
|
6697
|
+
let z2 = this._gauss_next;
|
|
6695
6698
|
this._gauss_next = null;
|
|
6696
|
-
if (
|
|
6699
|
+
if (z2 === null) {
|
|
6697
6700
|
const x2pi = this.random() * 2 * Math.PI, g2rad = Math.sqrt(-2 * Math.log(1 - this.random()));
|
|
6698
|
-
|
|
6701
|
+
z2 = Math.cos(x2pi) * g2rad;
|
|
6699
6702
|
this._gauss_next = Math.sin(x2pi) * g2rad;
|
|
6700
6703
|
}
|
|
6701
|
-
return mu +
|
|
6704
|
+
return mu + z2 * sigma;
|
|
6702
6705
|
}
|
|
6703
6706
|
/**
|
|
6704
6707
|
* Shuffles an array in-place using the Fisher-Yates algorithm.
|
|
@@ -8419,7 +8422,7 @@ var uint16_to_float32 = /* @__PURE__ */ (function() {
|
|
|
8419
8422
|
// src/backends/onnx.js
|
|
8420
8423
|
var ONNX_NODE = __toESM(require("onnxruntime-node"), 1);
|
|
8421
8424
|
|
|
8422
|
-
// ../../node_modules/.pnpm/onnxruntime-web@1.25.0-dev.
|
|
8425
|
+
// ../../node_modules/.pnpm/onnxruntime-web@1.25.0-dev.20260323-a99aad9d36/node_modules/onnxruntime-web/dist/ort.webgpu.bundle.min.mjs
|
|
8423
8426
|
var ort_webgpu_bundle_min_exports = {};
|
|
8424
8427
|
__export(ort_webgpu_bundle_min_exports, {
|
|
8425
8428
|
InferenceSession: () => Jf,
|
|
@@ -9188,7 +9191,7 @@ async function ts(a = {}) {
|
|
|
9188
9191
|
throw L(e = "Aborted(" + e + ")"), W = true, e = new WebAssembly.RuntimeError(e + ". Build with -sASSERTIONS for more info."), R?.(e), e;
|
|
9189
9192
|
}
|
|
9190
9193
|
function Ye() {
|
|
9191
|
-
return { a: { f: Vs, J: js, k: Hs, p: Ys, l: qs, ta: Js, b: Xs, ca: Qs, Ka: Sn,
|
|
9194
|
+
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 } };
|
|
9192
9195
|
}
|
|
9193
9196
|
async function bt() {
|
|
9194
9197
|
function e(o, u) {
|
|
@@ -9251,14 +9254,14 @@ async function ts(a = {}) {
|
|
|
9251
9254
|
gt.push(t), Je[e.Nc] = t, t.Nc = e.Nc;
|
|
9252
9255
|
var n = { Oc: "run", he: e.ge, Wc: e.Wc, Nc: e.Nc };
|
|
9253
9256
|
return t.postMessage(n, e.Yc), 0;
|
|
9254
|
-
},
|
|
9257
|
+
}, G = 0, V = (e, t, ...n) => {
|
|
9255
9258
|
var o, u = 16 * n.length, c = P(), h = Ft(u), b = h >>> 3;
|
|
9256
9259
|
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);
|
|
9257
9260
|
return e = Lo(e, 0, u, h, t), D(c), e;
|
|
9258
9261
|
};
|
|
9259
9262
|
function qe(e) {
|
|
9260
9263
|
if (i) return V(0, 1, e);
|
|
9261
|
-
if (S = e, !(0 <
|
|
9264
|
+
if (S = e, !(0 < G)) {
|
|
9262
9265
|
for (var t of gt) Se(t);
|
|
9263
9266
|
for (t of We) Se(t);
|
|
9264
9267
|
We = [], gt = [], Je = {}, W = true;
|
|
@@ -9303,7 +9306,7 @@ async function ts(a = {}) {
|
|
|
9303
9306
|
We.push(e);
|
|
9304
9307
|
}
|
|
9305
9308
|
var Fe, zs = (e, t) => {
|
|
9306
|
-
|
|
9309
|
+
G = 0, e = zr(e, t), 0 < G ? S = e : Fr(e);
|
|
9307
9310
|
}, Ct = [], Ut = 0, me = (e) => -9007199254740992 > e || 9007199254740992 < e ? NaN : Number(e);
|
|
9308
9311
|
function Vs(e) {
|
|
9309
9312
|
var t = new wr(e >>>= 0);
|
|
@@ -9655,7 +9658,7 @@ async function ts(a = {}) {
|
|
|
9655
9658
|
}
|
|
9656
9659
|
var he = (e) => {
|
|
9657
9660
|
if (!W) try {
|
|
9658
|
-
if (e(), !(0 <
|
|
9661
|
+
if (e(), !(0 < G)) try {
|
|
9659
9662
|
i ? Wt() && Fr(S) : br(S);
|
|
9660
9663
|
} catch (t) {
|
|
9661
9664
|
t instanceof wt || t == "unwind" || y(0, t);
|
|
@@ -9683,7 +9686,7 @@ async function ts(a = {}) {
|
|
|
9683
9686
|
return (t ? Vr[t] : of[e])(...Ir);
|
|
9684
9687
|
}
|
|
9685
9688
|
var Ei = () => {
|
|
9686
|
-
|
|
9689
|
+
G = 0;
|
|
9687
9690
|
};
|
|
9688
9691
|
function Si(e) {
|
|
9689
9692
|
e >>>= 0, i ? postMessage({ Oc: "cleanupThread", ie: e }) : yn(Je[e]);
|
|
@@ -9703,7 +9706,7 @@ async function ts(a = {}) {
|
|
|
9703
9706
|
try {
|
|
9704
9707
|
return e(...n);
|
|
9705
9708
|
} finally {
|
|
9706
|
-
W || (_t.pop(), Me && Ge === 1 && _t.length === 0 && (Ge = 0,
|
|
9709
|
+
W || (_t.pop(), Me && Ge === 1 && _t.length === 0 && (Ge = 0, G += 1, Pt(wa), typeof Fibers < "u" && Fibers.De()));
|
|
9707
9710
|
}
|
|
9708
9711
|
};
|
|
9709
9712
|
return jn.set(e, t), t;
|
|
@@ -9718,7 +9721,7 @@ async function ts(a = {}) {
|
|
|
9718
9721
|
try {
|
|
9719
9722
|
var c = (function() {
|
|
9720
9723
|
var E = (p(), x)[Me + 8 >>> 2 >>> 0];
|
|
9721
|
-
return E = Vn.get(E), E = jn.get(E), --
|
|
9724
|
+
return E = Vn.get(E), E = jn.get(E), --G, E();
|
|
9722
9725
|
})();
|
|
9723
9726
|
} catch (E) {
|
|
9724
9727
|
c = E, u = true;
|
|
@@ -9909,7 +9912,7 @@ async function ts(a = {}) {
|
|
|
9909
9912
|
return L(ct(e >>> 0, t >>> 0));
|
|
9910
9913
|
}
|
|
9911
9914
|
var ou = () => {
|
|
9912
|
-
throw
|
|
9915
|
+
throw G += 1, "unwind";
|
|
9913
9916
|
};
|
|
9914
9917
|
function au() {
|
|
9915
9918
|
return 4294901760;
|
|
@@ -10002,15 +10005,15 @@ async function ts(a = {}) {
|
|
|
10002
10005
|
}
|
|
10003
10006
|
(b = (p(), A)[c + 24 >>> 2 >>> 0]) && (b = { label: Ne(b + 4) }, e.defaultQueue = b), e.label = Ne(c + 4);
|
|
10004
10007
|
}
|
|
10005
|
-
|
|
10006
|
-
--
|
|
10007
|
-
ce[u >>> 0] = B.queue, ce[o >>> 0] = B, lt(n, B.lost.then((ue) => {
|
|
10008
|
+
G += 1, lt(t, h.requestDevice(e).then((B) => {
|
|
10009
|
+
--G, he(() => {
|
|
10010
|
+
ce[u >>> 0] = B.queue, ce[o >>> 0] = B, G += 1, lt(n, B.lost.then((ue) => {
|
|
10008
10011
|
he(() => {
|
|
10009
10012
|
B.onuncapturederror = () => {
|
|
10010
10013
|
};
|
|
10011
10014
|
var ye = P(), fe = Ce(ue.message);
|
|
10012
10015
|
_r(n, yu[ue.reason], fe), D(ye);
|
|
10013
|
-
});
|
|
10016
|
+
}), --G;
|
|
10014
10017
|
})), B.onuncapturederror = (ue) => {
|
|
10015
10018
|
var ye = 5;
|
|
10016
10019
|
ue.error instanceof GPUValidationError ? ye = 2 : ue.error instanceof GPUOutOfMemoryError ? ye = 3 : ue.error instanceof GPUInternalError && (ye = 4);
|
|
@@ -10019,7 +10022,7 @@ async function ts(a = {}) {
|
|
|
10019
10022
|
}, "adapterInfo" in B || (B.adapterInfo = h.info), kr(t, 1, o, 0);
|
|
10020
10023
|
});
|
|
10021
10024
|
}, (B) => {
|
|
10022
|
-
--
|
|
10025
|
+
--G, he(() => {
|
|
10023
10026
|
var ue = P(), ye = Ce(B.message);
|
|
10024
10027
|
kr(t, 3, o, ye), n && _r(n, 4, ye), D(ue);
|
|
10025
10028
|
});
|
|
@@ -10062,12 +10065,12 @@ async function ts(a = {}) {
|
|
|
10062
10065
|
function vu(e, t, n, o, u) {
|
|
10063
10066
|
e >>>= 0, t = me(t), n = me(n), u >>>= 0;
|
|
10064
10067
|
var c = O(e);
|
|
10065
|
-
Re[e] = [], u == 4294967295 && (u = void 0),
|
|
10066
|
-
--
|
|
10068
|
+
Re[e] = [], u == 4294967295 && (u = void 0), G += 1, lt(t, c.mapAsync(n, o >>> 0, u).then(() => {
|
|
10069
|
+
--G, he(() => {
|
|
10067
10070
|
Rr(t, 1, 0);
|
|
10068
10071
|
});
|
|
10069
10072
|
}, (h) => {
|
|
10070
|
-
--
|
|
10073
|
+
--G, he(() => {
|
|
10071
10074
|
P();
|
|
10072
10075
|
var b = Ce(h.message);
|
|
10073
10076
|
Rr(t, h.name === "AbortError" ? 4 : h.name === "OperationError" ? 3 : 0, b), delete Re[e];
|
|
@@ -10096,12 +10099,12 @@ async function ts(a = {}) {
|
|
|
10096
10099
|
return ce[n >>> 0] = u, o && (Re[n] = []), true;
|
|
10097
10100
|
}
|
|
10098
10101
|
function Iu(e, t, n, o) {
|
|
10099
|
-
e >>>= 0, t = me(t), o >>>= 0, n = du(n >>> 0), e = O(e),
|
|
10100
|
-
--
|
|
10102
|
+
e >>>= 0, t = me(t), o >>>= 0, n = du(n >>> 0), e = O(e), G += 1, lt(t, e.createComputePipelineAsync(n).then((u) => {
|
|
10103
|
+
--G, he(() => {
|
|
10101
10104
|
ce[o >>> 0] = u, Pr(t, 1, o, 0);
|
|
10102
10105
|
});
|
|
10103
10106
|
}, (u) => {
|
|
10104
|
-
--
|
|
10107
|
+
--G, he(() => {
|
|
10105
10108
|
var c = P(), h = Ce(u.message);
|
|
10106
10109
|
Pr(t, u.reason === "validation" ? 3 : u.reason === "internal" ? 4 : 0, o, h), D(c);
|
|
10107
10110
|
});
|
|
@@ -10116,15 +10119,15 @@ async function ts(a = {}) {
|
|
|
10116
10119
|
(e = O(e)).onuncapturederror = null, e.destroy();
|
|
10117
10120
|
};
|
|
10118
10121
|
function Ou(e, t) {
|
|
10119
|
-
t = me(t), e = O(e >>> 0),
|
|
10120
|
-
--
|
|
10122
|
+
t = me(t), e = O(e >>> 0), G += 1, lt(t, e.popErrorScope().then((n) => {
|
|
10123
|
+
--G, he(() => {
|
|
10121
10124
|
var o = 5;
|
|
10122
10125
|
n ? n instanceof GPUValidationError ? o = 2 : n instanceof GPUOutOfMemoryError ? o = 3 : n instanceof GPUInternalError && (o = 4) : o = 1;
|
|
10123
10126
|
var u = P(), c = n ? Ce(n.message) : 0;
|
|
10124
10127
|
Nr(t, 1, o, c), D(u);
|
|
10125
10128
|
});
|
|
10126
10129
|
}, (n) => {
|
|
10127
|
-
--
|
|
10130
|
+
--G, he(() => {
|
|
10128
10131
|
var o = P(), u = Ce(n.message);
|
|
10129
10132
|
Nr(t, 1, 5, u), D(o);
|
|
10130
10133
|
});
|
|
@@ -10135,8 +10138,8 @@ async function ts(a = {}) {
|
|
|
10135
10138
|
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] };
|
|
10136
10139
|
(e = (p(), A)[n >>> 2 >>> 0]) !== 0 && (p(), u.Fe = !!(p(), A)[e + 8 >>> 2 >>> 0]);
|
|
10137
10140
|
}
|
|
10138
|
-
"gpu" in navigator ? (
|
|
10139
|
-
--
|
|
10141
|
+
"gpu" in navigator ? (G += 1, lt(t, navigator.gpu.requestAdapter(u).then((c) => {
|
|
10142
|
+
--G, he(() => {
|
|
10140
10143
|
if (c) ce[o >>> 0] = c, Et(t, 1, o, 0);
|
|
10141
10144
|
else {
|
|
10142
10145
|
var h = P(), b = Ce("WebGPU not available on this browser (requestAdapter returned null)");
|
|
@@ -10144,7 +10147,7 @@ async function ts(a = {}) {
|
|
|
10144
10147
|
}
|
|
10145
10148
|
});
|
|
10146
10149
|
}, (c) => {
|
|
10147
|
-
--
|
|
10150
|
+
--G, he(() => {
|
|
10148
10151
|
var h = P(), b = Ce(c.message);
|
|
10149
10152
|
Et(t, 4, o, b), D(h);
|
|
10150
10153
|
});
|
|
@@ -10375,7 +10378,7 @@ async function ts(a = {}) {
|
|
|
10375
10378
|
Te(`invalid type for getValue: ${t}`);
|
|
10376
10379
|
}
|
|
10377
10380
|
}, r.UTF8ToString = ct, r.stringToUTF8 = Pe, r.lengthBytesUTF8 = _e;
|
|
10378
|
-
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 = {
|
|
10381
|
+
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) => {
|
|
10379
10382
|
if (r === void 0 || !r.Uc) return 1;
|
|
10380
10383
|
if ((e = ct(Number(e >>> 0))).startsWith("./") && (e = e.substring(2)), !(e = r.Uc.get(e))) return 2;
|
|
10381
10384
|
if (t = Number(t >>> 0), n = Number(n >>> 0), o = Number(o >>> 0), t + n > e.byteLength) return 3;
|
|
@@ -10395,11 +10398,11 @@ async function ts(a = {}) {
|
|
|
10395
10398
|
} catch {
|
|
10396
10399
|
return 4;
|
|
10397
10400
|
}
|
|
10398
|
-
},
|
|
10401
|
+
}, 937836: (e, t, n) => {
|
|
10399
10402
|
r.Sd(e, (p(), J).subarray(t >>> 0, t + n >>> 0));
|
|
10400
|
-
},
|
|
10403
|
+
}, 937900: () => r.me(), 937942: (e) => {
|
|
10401
10404
|
r.jd(e);
|
|
10402
|
-
},
|
|
10405
|
+
}, 937979: () => typeof wasmOffsetConverter < "u" };
|
|
10403
10406
|
function af(e, t, n, o) {
|
|
10404
10407
|
var u = P();
|
|
10405
10408
|
try {
|
|
@@ -10418,12 +10421,12 @@ async function ts(a = {}) {
|
|
|
10418
10421
|
N(1, 0);
|
|
10419
10422
|
}
|
|
10420
10423
|
}
|
|
10421
|
-
function uf(e
|
|
10422
|
-
var
|
|
10424
|
+
function uf(e) {
|
|
10425
|
+
var t = P();
|
|
10423
10426
|
try {
|
|
10424
|
-
|
|
10425
|
-
} catch (
|
|
10426
|
-
if (D(
|
|
10427
|
+
Ro(e);
|
|
10428
|
+
} catch (n) {
|
|
10429
|
+
if (D(t), n !== n + 0) throw n;
|
|
10427
10430
|
N(1, 0);
|
|
10428
10431
|
}
|
|
10429
10432
|
}
|
|
@@ -10436,25 +10439,16 @@ async function ts(a = {}) {
|
|
|
10436
10439
|
N(1, 0);
|
|
10437
10440
|
}
|
|
10438
10441
|
}
|
|
10439
|
-
function cf(e) {
|
|
10440
|
-
var
|
|
10441
|
-
try {
|
|
10442
|
-
Ro(e);
|
|
10443
|
-
} catch (n) {
|
|
10444
|
-
if (D(t), n !== n + 0) throw n;
|
|
10445
|
-
N(1, 0);
|
|
10446
|
-
}
|
|
10447
|
-
}
|
|
10448
|
-
function df(e, t, n, o, u, c, h) {
|
|
10449
|
-
var b = P();
|
|
10442
|
+
function cf(e, t, n) {
|
|
10443
|
+
var o = P();
|
|
10450
10444
|
try {
|
|
10451
|
-
|
|
10452
|
-
} catch (
|
|
10453
|
-
if (D(
|
|
10445
|
+
_o(e, t, n);
|
|
10446
|
+
} catch (u) {
|
|
10447
|
+
if (D(o), u !== u + 0) throw u;
|
|
10454
10448
|
N(1, 0);
|
|
10455
10449
|
}
|
|
10456
10450
|
}
|
|
10457
|
-
function
|
|
10451
|
+
function df(e, t) {
|
|
10458
10452
|
var n = P();
|
|
10459
10453
|
try {
|
|
10460
10454
|
Vo(e, t);
|
|
@@ -10463,6 +10457,15 @@ async function ts(a = {}) {
|
|
|
10463
10457
|
N(1, 0);
|
|
10464
10458
|
}
|
|
10465
10459
|
}
|
|
10460
|
+
function lf(e, t, n, o, u, c, h) {
|
|
10461
|
+
var b = P();
|
|
10462
|
+
try {
|
|
10463
|
+
return Wo(e, t, n, o, u, c, h);
|
|
10464
|
+
} catch (E) {
|
|
10465
|
+
if (D(b), E !== E + 0) throw E;
|
|
10466
|
+
N(1, 0);
|
|
10467
|
+
}
|
|
10468
|
+
}
|
|
10466
10469
|
function pf(e, t, n, o, u, c) {
|
|
10467
10470
|
var h = P();
|
|
10468
10471
|
try {
|
|
@@ -10892,7 +10895,7 @@ var nc;
|
|
|
10892
10895
|
var oc;
|
|
10893
10896
|
var ac;
|
|
10894
10897
|
var qt;
|
|
10895
|
-
var
|
|
10898
|
+
var z;
|
|
10896
10899
|
var je = k(() => {
|
|
10897
10900
|
"use strict";
|
|
10898
10901
|
Yt();
|
|
@@ -10948,19 +10951,19 @@ var je = k(() => {
|
|
|
10948
10951
|
rr = false, ds = true, H(M);
|
|
10949
10952
|
});
|
|
10950
10953
|
})), await Promise.race(C), S) throw new Error(`WebAssembly backend initializing failed due to timeout: ${r}ms`);
|
|
10951
|
-
},
|
|
10954
|
+
}, z = () => {
|
|
10952
10955
|
if (nn && rn) return rn;
|
|
10953
10956
|
throw new Error("WebAssembly is not initialized yet.");
|
|
10954
10957
|
};
|
|
10955
10958
|
});
|
|
10956
10959
|
var be;
|
|
10957
10960
|
var Lt;
|
|
10958
|
-
var
|
|
10961
|
+
var $;
|
|
10959
10962
|
var nr = k(() => {
|
|
10960
10963
|
"use strict";
|
|
10961
10964
|
je();
|
|
10962
10965
|
be = (a, r) => {
|
|
10963
|
-
let s =
|
|
10966
|
+
let s = z(), f = s.lengthBytesUTF8(a) + 1, i = s._malloc(f);
|
|
10964
10967
|
return s.stringToUTF8(a, i, f), r.push(i), i;
|
|
10965
10968
|
}, Lt = (a, r, s, f) => {
|
|
10966
10969
|
if (typeof a == "object" && a !== null) {
|
|
@@ -10974,8 +10977,8 @@ var nr = k(() => {
|
|
|
10974
10977
|
else if (typeof d == "boolean") f(l, d ? "1" : "0");
|
|
10975
10978
|
else throw new Error(`Can't handle extra config type: ${typeof d}`);
|
|
10976
10979
|
});
|
|
10977
|
-
},
|
|
10978
|
-
let r =
|
|
10980
|
+
}, $ = (a) => {
|
|
10981
|
+
let r = z(), s = r.stackSave();
|
|
10979
10982
|
try {
|
|
10980
10983
|
let f = r.PTR_SIZE, i = r.stackAlloc(2 * f);
|
|
10981
10984
|
r._OrtGetLastError(i, i + f);
|
|
@@ -10992,7 +10995,7 @@ var ps = k(() => {
|
|
|
10992
10995
|
je();
|
|
10993
10996
|
nr();
|
|
10994
10997
|
ls = (a) => {
|
|
10995
|
-
let r =
|
|
10998
|
+
let r = z(), s = 0, f = [], i = a || {};
|
|
10996
10999
|
try {
|
|
10997
11000
|
if (a?.logSeverityLevel === void 0) i.logSeverityLevel = 2;
|
|
10998
11001
|
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}`);
|
|
@@ -11000,9 +11003,9 @@ var ps = k(() => {
|
|
|
11000
11003
|
else if (typeof a.logVerbosityLevel != "number" || !Number.isInteger(a.logVerbosityLevel)) throw new Error(`log verbosity level is not valid: ${a.logVerbosityLevel}`);
|
|
11001
11004
|
a?.terminate === void 0 && (i.terminate = false);
|
|
11002
11005
|
let d = 0;
|
|
11003
|
-
return a?.tag !== void 0 && (d = be(a.tag, f)), s = r._OrtCreateRunOptions(i.logSeverityLevel, i.logVerbosityLevel, !!i.terminate, d), s === 0 &&
|
|
11006
|
+
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) => {
|
|
11004
11007
|
let y = be(l, f), w = be(m, f);
|
|
11005
|
-
r._OrtAddRunConfigEntry(s, y, w) !== 0 &&
|
|
11008
|
+
r._OrtAddRunConfigEntry(s, y, w) !== 0 && $(`Can't set a run config entry: ${l} - ${m}.`);
|
|
11006
11009
|
}), [s, f];
|
|
11007
11010
|
} catch (d) {
|
|
11008
11011
|
throw s !== 0 && r._OrtReleaseRunOptions(s), f.forEach((l) => r._free(l)), d;
|
|
@@ -11050,7 +11053,7 @@ var hs = k(() => {
|
|
|
11050
11053
|
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);
|
|
11051
11054
|
}, on = (a, r, s, f) => {
|
|
11052
11055
|
let i = be(r, f), d = be(s, f);
|
|
11053
|
-
|
|
11056
|
+
z()._OrtAddSessionConfigEntry(a, i, d) !== 0 && $(`Can't set a session config entry: ${r} - ${s}.`);
|
|
11054
11057
|
}, ot = (a, r, s, f) => {
|
|
11055
11058
|
let i = be(r, f), d = be(s, f);
|
|
11056
11059
|
a.push([i, d]);
|
|
@@ -11081,7 +11084,7 @@ var hs = k(() => {
|
|
|
11081
11084
|
}
|
|
11082
11085
|
S.validationMode && ot(l, "validationMode", S.validationMode, s);
|
|
11083
11086
|
}
|
|
11084
|
-
let v =
|
|
11087
|
+
let v = z().webgpuRegisterDevice(g);
|
|
11085
11088
|
if (v) {
|
|
11086
11089
|
let [S, C, R] = v;
|
|
11087
11090
|
ot(l, "deviceId", S.toString(), s), ot(l, "webgpuInstance", C.toString(), s), ot(l, "webgpuDevice", R.toString(), s);
|
|
@@ -11096,13 +11099,13 @@ var hs = k(() => {
|
|
|
11096
11099
|
}
|
|
11097
11100
|
let m = be(d, s), y = l.length, w = 0, T = 0;
|
|
11098
11101
|
if (y > 0) {
|
|
11099
|
-
w =
|
|
11100
|
-
for (let g = 0; g < y; g++)
|
|
11102
|
+
w = z()._malloc(y * z().PTR_SIZE), s.push(w), T = z()._malloc(y * z().PTR_SIZE), s.push(T);
|
|
11103
|
+
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], "*");
|
|
11101
11104
|
}
|
|
11102
|
-
await
|
|
11105
|
+
await z()._OrtAppendExecutionProvider(a, m, w, T, y) !== 0 && $(`Can't append execution provider: ${d}.`);
|
|
11103
11106
|
}
|
|
11104
11107
|
}, ms = async (a) => {
|
|
11105
|
-
let r =
|
|
11108
|
+
let r = z(), s = 0, f = [], i = a || {};
|
|
11106
11109
|
uc(i);
|
|
11107
11110
|
try {
|
|
11108
11111
|
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;
|
|
@@ -11110,7 +11113,7 @@ var hs = k(() => {
|
|
|
11110
11113
|
let w = i.logVerbosityLevel ?? 0;
|
|
11111
11114
|
if (!Number.isInteger(w) || w < 0 || w > 4) throw new Error(`log verbosity level is not valid: ${w}`);
|
|
11112
11115
|
let T = typeof i.optimizedModelFilePath == "string" ? be(i.optimizedModelFilePath, f) : 0;
|
|
11113
|
-
if (s = r._OrtCreateSessionOptions(d, !!i.enableCpuMemArena, !!i.enableMemPattern, l, !!i.enableProfiling, 0, m, y, w, T), s === 0 &&
|
|
11116
|
+
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) {
|
|
11114
11117
|
if (typeof i.enableGraphCapture != "boolean") throw new Error(`enableGraphCapture must be a boolean value: ${i.enableGraphCapture}`);
|
|
11115
11118
|
on(s, "enableGraphCapture", i.enableGraphCapture.toString(), f);
|
|
11116
11119
|
}
|
|
@@ -11118,13 +11121,13 @@ var hs = k(() => {
|
|
|
11118
11121
|
if (typeof g != "string") throw new Error(`free dimension override name must be a string: ${g}`);
|
|
11119
11122
|
if (typeof v != "number" || !Number.isInteger(v) || v < 0) throw new Error(`free dimension override value must be a non-negative integer: ${v}`);
|
|
11120
11123
|
let S = be(g, f);
|
|
11121
|
-
r._OrtAddFreeDimensionOverride(s, S, v) !== 0 &&
|
|
11124
|
+
r._OrtAddFreeDimensionOverride(s, S, v) !== 0 && $(`Can't set a free dimension override: ${g} - ${v}.`);
|
|
11122
11125
|
}
|
|
11123
11126
|
return i.extra !== void 0 && Lt(i.extra, "", /* @__PURE__ */ new WeakSet(), (g, v) => {
|
|
11124
11127
|
on(s, g, v, f);
|
|
11125
11128
|
}), [s, f];
|
|
11126
11129
|
} catch (d) {
|
|
11127
|
-
throw s !== 0 && r._OrtReleaseSessionOptions(s) !== 0 &&
|
|
11130
|
+
throw s !== 0 && r._OrtReleaseSessionOptions(s) !== 0 && $("Can't release session options."), f.forEach((l) => r._free(l)), d;
|
|
11128
11131
|
}
|
|
11129
11132
|
};
|
|
11130
11133
|
});
|
|
@@ -11694,7 +11697,7 @@ var Os = k(() => {
|
|
|
11694
11697
|
return l ? l.push(d) : this.temporarySessionTensorIds.set(r, [d]), d;
|
|
11695
11698
|
}
|
|
11696
11699
|
uploadTensor(r, s) {
|
|
11697
|
-
if (
|
|
11700
|
+
if (!z().shouldTransferToMLTensor) throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");
|
|
11698
11701
|
le("verbose", () => `[WebNN] uploadTensor {tensorId: ${r}, data: ${s.byteLength}}`), this.tensorManager.upload(r, s);
|
|
11699
11702
|
}
|
|
11700
11703
|
async downloadTensor(r, s) {
|
|
@@ -11800,11 +11803,11 @@ var Kr = k(() => {
|
|
|
11800
11803
|
nr();
|
|
11801
11804
|
sn();
|
|
11802
11805
|
yc = (a, r) => {
|
|
11803
|
-
|
|
11806
|
+
z()._OrtInit(a, r) !== 0 && $("Can't initialize onnxruntime.");
|
|
11804
11807
|
}, Jt = async (a) => {
|
|
11805
11808
|
yc(a.wasm.numThreads, Ot(a.logLevel));
|
|
11806
11809
|
}, Xt = async (a, r) => {
|
|
11807
|
-
|
|
11810
|
+
z().asyncInit?.();
|
|
11808
11811
|
let s = a.webgpu.adapter;
|
|
11809
11812
|
if (r === "webgpu") {
|
|
11810
11813
|
if (typeof navigator > "u" || !navigator.gpu) throw new Error("WebGPU is not supported in current environment");
|
|
@@ -11819,29 +11822,29 @@ var Kr = k(() => {
|
|
|
11819
11822
|
}
|
|
11820
11823
|
}
|
|
11821
11824
|
if (r === "webnn" && (typeof navigator > "u" || !navigator.ml)) throw new Error("WebNN is not supported in current environment");
|
|
11822
|
-
if (r === "webgpu" &&
|
|
11825
|
+
if (r === "webgpu" && z().webgpuInit((f) => {
|
|
11823
11826
|
a.webgpu.device = f;
|
|
11824
11827
|
}), r === "webnn") {
|
|
11825
11828
|
let f = new (Os(), $t(Ls)).WebNNBackend(a);
|
|
11826
|
-
|
|
11829
|
+
z().webnnInit([f, () => f.reserveTensorId(), (i) => f.releaseTensorId(i), async (i, d, l, m, y) => f.ensureTensor(i, d, l, m, y), (i, d) => {
|
|
11827
11830
|
f.uploadTensor(i, d);
|
|
11828
11831
|
}, async (i, d) => f.downloadTensor(i, d), (i, d) => f.registerMLContext(i, d), !!a.trace]);
|
|
11829
11832
|
}
|
|
11830
11833
|
}, it = /* @__PURE__ */ new Map(), bc = (a) => {
|
|
11831
|
-
let r =
|
|
11834
|
+
let r = z(), s = r.stackSave();
|
|
11832
11835
|
try {
|
|
11833
11836
|
let f = r.PTR_SIZE, i = r.stackAlloc(2 * f);
|
|
11834
|
-
r._OrtGetInputOutputCount(a, i, i + f) !== 0 &&
|
|
11837
|
+
r._OrtGetInputOutputCount(a, i, i + f) !== 0 && $("Can't get session input/output count.");
|
|
11835
11838
|
let l = f === 4 ? "i32" : "i64";
|
|
11836
11839
|
return [Number(r.getValue(i, l)), Number(r.getValue(i + f, l))];
|
|
11837
11840
|
} finally {
|
|
11838
11841
|
r.stackRestore(s);
|
|
11839
11842
|
}
|
|
11840
11843
|
}, Bs = (a, r) => {
|
|
11841
|
-
let s =
|
|
11844
|
+
let s = z(), f = s.stackSave(), i = 0;
|
|
11842
11845
|
try {
|
|
11843
11846
|
let d = s.PTR_SIZE, l = s.stackAlloc(2 * d);
|
|
11844
|
-
s._OrtGetInputOutputMetadata(a, r, l, l + d) !== 0 &&
|
|
11847
|
+
s._OrtGetInputOutputMetadata(a, r, l, l + d) !== 0 && $("Can't get session input/output metadata.");
|
|
11845
11848
|
let y = Number(s.getValue(l, "*"));
|
|
11846
11849
|
i = Number(s.getValue(l + d, "*"));
|
|
11847
11850
|
let w = s.HEAP32[i / 4];
|
|
@@ -11856,11 +11859,11 @@ var Kr = k(() => {
|
|
|
11856
11859
|
s.stackRestore(f), i !== 0 && s._OrtFree(i);
|
|
11857
11860
|
}
|
|
11858
11861
|
}, xt = (a) => {
|
|
11859
|
-
let r =
|
|
11862
|
+
let r = z(), s = r._malloc(a.byteLength);
|
|
11860
11863
|
if (s === 0) throw new Error(`Can't create a session. failed to allocate a buffer of size ${a.byteLength}.`);
|
|
11861
11864
|
return r.HEAPU8.set(a, s), [s, a.byteLength];
|
|
11862
11865
|
}, Qt = async (a, r) => {
|
|
11863
|
-
let s, f, i =
|
|
11866
|
+
let s, f, i = z();
|
|
11864
11867
|
Array.isArray(a) ? [s, f] = a : a.buffer === i.HEAPU8.buffer ? [s, f] = [a.byteOffset, a.byteLength] : [s, f] = xt(a);
|
|
11865
11868
|
let d = 0, l = 0, m = 0, y = [], w = [], T = [];
|
|
11866
11869
|
try {
|
|
@@ -11881,17 +11884,17 @@ var Kr = k(() => {
|
|
|
11881
11884
|
} else i.currentContext = await i.webnnCreateMLContext();
|
|
11882
11885
|
break;
|
|
11883
11886
|
}
|
|
11884
|
-
d = await i._OrtCreateSession(s, f, l), i.webgpuOnCreateSession?.(d), d === 0 &&
|
|
11887
|
+
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);
|
|
11885
11888
|
let [g, v] = bc(d), S = !!r?.enableGraphCapture, C = [], R = [], H = [], U = [], M = [];
|
|
11886
11889
|
for (let L = 0; L < g; L++) {
|
|
11887
11890
|
let [W, oe, p] = Bs(d, L);
|
|
11888
|
-
W === 0 &&
|
|
11891
|
+
W === 0 && $("Can't get an input name."), w.push(W);
|
|
11889
11892
|
let ne = i.UTF8ToString(W);
|
|
11890
11893
|
C.push(ne), H.push(oe === 0 ? { name: ne, isTensor: false } : { name: ne, isTensor: true, type: or(oe), shape: p });
|
|
11891
11894
|
}
|
|
11892
11895
|
for (let L = 0; L < v; L++) {
|
|
11893
11896
|
let [W, oe, p] = Bs(d, L + g);
|
|
11894
|
-
W === 0 &&
|
|
11897
|
+
W === 0 && $("Can't get an output name."), T.push(W);
|
|
11895
11898
|
let ne = i.UTF8ToString(W);
|
|
11896
11899
|
R.push(ne), U.push(oe === 0 ? { name: ne, isTensor: false } : { name: ne, isTensor: true, type: or(oe), shape: p });
|
|
11897
11900
|
{
|
|
@@ -11910,23 +11913,23 @@ var Kr = k(() => {
|
|
|
11910
11913
|
}
|
|
11911
11914
|
}
|
|
11912
11915
|
let Y = null;
|
|
11913
|
-
return M.some((L) => L === "gpu-buffer" || L === "ml-tensor" || L === "ml-tensor-cpu-output") && (m = i._OrtCreateBinding(d), m === 0 &&
|
|
11916
|
+
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];
|
|
11914
11917
|
} catch (g) {
|
|
11915
|
-
throw w.forEach((v) => i._OrtFree(v)), T.forEach((v) => i._OrtFree(v)), m !== 0 && i._OrtReleaseBinding(m) !== 0 &&
|
|
11918
|
+
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;
|
|
11916
11919
|
} finally {
|
|
11917
|
-
i._free(s), l !== 0 && i._OrtReleaseSessionOptions(l) !== 0 &&
|
|
11920
|
+
i._free(s), l !== 0 && i._OrtReleaseSessionOptions(l) !== 0 && $("Can't release session options."), y.forEach((g) => i._free(g)), i.unmountExternalData?.();
|
|
11918
11921
|
}
|
|
11919
11922
|
}, Zt = (a) => {
|
|
11920
|
-
let r =
|
|
11923
|
+
let r = z(), s = it.get(a);
|
|
11921
11924
|
if (!s) throw new Error(`cannot release session. invalid session id: ${a}`);
|
|
11922
11925
|
let [f, i, d, l, m] = s;
|
|
11923
|
-
l && (m && r._OrtClearBoundOutputs(l.handle) !== 0 &&
|
|
11926
|
+
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);
|
|
11924
11927
|
}, Ms = async (a, r, s, f, i, d, l = false) => {
|
|
11925
11928
|
if (!a) {
|
|
11926
11929
|
r.push(0);
|
|
11927
11930
|
return;
|
|
11928
11931
|
}
|
|
11929
|
-
let m =
|
|
11932
|
+
let m = z(), y = m.PTR_SIZE, w = a[0], T = a[1], g = a[3], v = g, S, C;
|
|
11930
11933
|
if (w === "string" && (g === "gpu-buffer" || g === "ml-tensor")) throw new Error("String tensor is not supported on GPU.");
|
|
11931
11934
|
if (l && g !== "gpu-buffer") throw new Error(`External buffer must be provided for input/output index ${d} when enableGraphCapture is true.`);
|
|
11932
11935
|
if (g === "gpu-buffer") {
|
|
@@ -11970,12 +11973,12 @@ var Kr = k(() => {
|
|
|
11970
11973
|
try {
|
|
11971
11974
|
T.forEach((M, Y) => m.setValue(H + Y * y, M, y === 4 ? "i32" : "i64"));
|
|
11972
11975
|
let U = m._OrtCreateTensor(He(w), S, C, H, T.length, an(v));
|
|
11973
|
-
U === 0 &&
|
|
11976
|
+
U === 0 && $(`Can't create tensor for input/output. session=${f}, index=${d}.`), r.push(U);
|
|
11974
11977
|
} finally {
|
|
11975
11978
|
m.stackRestore(R);
|
|
11976
11979
|
}
|
|
11977
11980
|
}, Kt = async (a, r, s, f, i, d) => {
|
|
11978
|
-
let l =
|
|
11981
|
+
let l = z(), m = l.PTR_SIZE, y = it.get(a);
|
|
11979
11982
|
if (!y) throw new Error(`cannot run inference. invalid session id: ${a}`);
|
|
11980
11983
|
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);
|
|
11981
11984
|
try {
|
|
@@ -11991,33 +11994,33 @@ var Kr = k(() => {
|
|
|
11991
11994
|
$e("wasm bindInputsOutputs");
|
|
11992
11995
|
for (let q = 0; q < R; q++) {
|
|
11993
11996
|
let we = r[q];
|
|
11994
|
-
await l._OrtBindInput(_, T[we], Y[q]) !== 0 &&
|
|
11997
|
+
await l._OrtBindInput(_, T[we], Y[q]) !== 0 && $(`Can't bind input[${q}] for session=${a}.`);
|
|
11995
11998
|
}
|
|
11996
11999
|
for (let q = 0; q < H; q++) {
|
|
11997
12000
|
let we = f[q];
|
|
11998
|
-
i[q]?.[3] ? (oe.push(L[q]), l._OrtBindOutput(_, g[we], L[q], 0) !== 0 &&
|
|
12001
|
+
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}.`);
|
|
11999
12002
|
}
|
|
12000
12003
|
ze("wasm bindInputsOutputs"), it.set(a, [w, T, g, v, S, true]);
|
|
12001
12004
|
}
|
|
12002
12005
|
l.jsepOnRunStart?.(w), l.webnnOnRunStart?.(w);
|
|
12003
12006
|
let Q;
|
|
12004
|
-
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 &&
|
|
12007
|
+
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().");
|
|
12005
12008
|
let x = [], A = [];
|
|
12006
12009
|
$e("wasm ProcessOutputTensor");
|
|
12007
12010
|
for (let _ = 0; _ < H; _++) {
|
|
12008
12011
|
let ae = Number(l.getValue(J + _ * m, "*"));
|
|
12009
12012
|
if (ae === L[_] || oe.includes(L[_])) {
|
|
12010
|
-
x.push(i[_]), ae !== L[_] && l._OrtReleaseTensor(ae) !== 0 &&
|
|
12013
|
+
x.push(i[_]), ae !== L[_] && l._OrtReleaseTensor(ae) !== 0 && $("Can't release tensor.");
|
|
12011
12014
|
continue;
|
|
12012
12015
|
}
|
|
12013
12016
|
let pe = l.stackSave(), q = l.stackAlloc(4 * m), we = false, re, se = 0;
|
|
12014
12017
|
try {
|
|
12015
|
-
l._OrtGetTensorData(ae, q, q + m, q + 2 * m, q + 3 * m) !== 0 &&
|
|
12018
|
+
l._OrtGetTensorData(ae, q, q + m, q + 2 * m, q + 3 * m) !== 0 && $(`Can't access output tensor data on index ${_}.`);
|
|
12016
12019
|
let Te = m === 4 ? "i32" : "i64", Ye = Number(l.getValue(q, Te));
|
|
12017
12020
|
se = l.getValue(q + m, "*");
|
|
12018
12021
|
let bt = l.getValue(q + m * 2, "*"), wt = Number(l.getValue(q + m * 3, Te)), Se = [];
|
|
12019
12022
|
for (let ee = 0; ee < wt; ee++) Se.push(Number(l.getValue(bt + ee * m, Te)));
|
|
12020
|
-
l._OrtFree(bt) !== 0 &&
|
|
12023
|
+
l._OrtFree(bt) !== 0 && $("Can't free memory for tensor dims.");
|
|
12021
12024
|
let Ae = Se.reduce((ee, Z) => ee * Z, 1);
|
|
12022
12025
|
re = or(Ye);
|
|
12023
12026
|
let Oe = v?.outputPreferredLocations[f[_]];
|
|
@@ -12025,24 +12028,24 @@ var Kr = k(() => {
|
|
|
12025
12028
|
if (Oe === "gpu-buffer" || Oe === "ml-tensor") throw new Error("String tensor is not supported on GPU.");
|
|
12026
12029
|
let ee = [];
|
|
12027
12030
|
for (let Z = 0; Z < Ae; Z++) {
|
|
12028
|
-
let
|
|
12029
|
-
ee.push(l.UTF8ToString(
|
|
12031
|
+
let G = l.getValue(se + Z * m, "*"), V = l.getValue(se + (Z + 1) * m, "*"), qe = Z === Ae - 1 ? void 0 : V - G;
|
|
12032
|
+
ee.push(l.UTF8ToString(G, qe));
|
|
12030
12033
|
}
|
|
12031
12034
|
x.push([re, Se, ee, "cpu"]);
|
|
12032
12035
|
} else if (Oe === "gpu-buffer" && Ae > 0) {
|
|
12033
12036
|
let ee = l.webgpuGetBuffer;
|
|
12034
12037
|
if (!ee) throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');
|
|
12035
|
-
let Z = ee(se),
|
|
12036
|
-
if (
|
|
12038
|
+
let Z = ee(se), G = mt(Ye, Ae);
|
|
12039
|
+
if (G === void 0 || !ar(re)) throw new Error(`Unsupported data type: ${re}`);
|
|
12037
12040
|
we = true;
|
|
12038
12041
|
{
|
|
12039
12042
|
l.webgpuRegisterBuffer(Z, a, se);
|
|
12040
|
-
let V = l.webgpuCreateDownloader(Z,
|
|
12043
|
+
let V = l.webgpuCreateDownloader(Z, G, a);
|
|
12041
12044
|
x.push([re, Se, { gpuBuffer: Z, download: async () => {
|
|
12042
12045
|
let qe = await V();
|
|
12043
12046
|
return new (at(re))(qe);
|
|
12044
12047
|
}, dispose: () => {
|
|
12045
|
-
l._OrtReleaseTensor(ae) !== 0 &&
|
|
12048
|
+
l._OrtReleaseTensor(ae) !== 0 && $("Can't release tensor.");
|
|
12046
12049
|
} }, "gpu-buffer"]);
|
|
12047
12050
|
}
|
|
12048
12051
|
} else if (Oe === "ml-tensor" && Ae > 0) {
|
|
@@ -12057,8 +12060,8 @@ var Kr = k(() => {
|
|
|
12057
12060
|
} else if (Oe === "ml-tensor-cpu-output" && Ae > 0) {
|
|
12058
12061
|
let ee = l.webnnCreateMLTensorDownloader(se, re)(), Z = x.length;
|
|
12059
12062
|
we = true, A.push((async () => {
|
|
12060
|
-
let
|
|
12061
|
-
return l.webnnReleaseTensorId(se), l._OrtReleaseTensor(ae),
|
|
12063
|
+
let G = [Z, await ee];
|
|
12064
|
+
return l.webnnReleaseTensorId(se), l._OrtReleaseTensor(ae), G;
|
|
12062
12065
|
})()), x.push([re, Se, [], "cpu"]);
|
|
12063
12066
|
} else {
|
|
12064
12067
|
let ee = at(re), Z = new ee(Ae);
|
|
@@ -12068,7 +12071,7 @@ var Kr = k(() => {
|
|
|
12068
12071
|
l.stackRestore(pe), re === "string" && se && l._free(se), we || l._OrtReleaseTensor(ae);
|
|
12069
12072
|
}
|
|
12070
12073
|
}
|
|
12071
|
-
v && !S && (l._OrtClearBoundOutputs(v.handle) !== 0 &&
|
|
12074
|
+
v && !S && (l._OrtClearBoundOutputs(v.handle) !== 0 && $("Can't clear bound outputs."), it.set(a, [w, T, g, v, S, false]));
|
|
12072
12075
|
for (let [_, ae] of await Promise.all(A)) x[_][2] = ae;
|
|
12073
12076
|
return ze("wasm ProcessOutputTensor"), x;
|
|
12074
12077
|
} finally {
|
|
@@ -12079,10 +12082,10 @@ var Kr = k(() => {
|
|
|
12079
12082
|
}), 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));
|
|
12080
12083
|
}
|
|
12081
12084
|
}, er = (a) => {
|
|
12082
|
-
let r =
|
|
12085
|
+
let r = z(), s = it.get(a);
|
|
12083
12086
|
if (!s) throw new Error("invalid session id");
|
|
12084
12087
|
let f = s[0], i = r._OrtEndProfiling(f);
|
|
12085
|
-
i === 0 &&
|
|
12088
|
+
i === 0 && $("Can't get an profile file name."), r._OrtFree(i);
|
|
12086
12089
|
}, tr = (a) => {
|
|
12087
12090
|
let r = [];
|
|
12088
12091
|
for (let s of a) {
|
|
@@ -12315,7 +12318,7 @@ var $s = k(() => {
|
|
|
12315
12318
|
Ve();
|
|
12316
12319
|
Ve();
|
|
12317
12320
|
Ve();
|
|
12318
|
-
var Xa = "1.25.0-dev.
|
|
12321
|
+
var Xa = "1.25.0-dev.20260323-a99aad9d36";
|
|
12319
12322
|
var Tl = Zr;
|
|
12320
12323
|
{
|
|
12321
12324
|
let a = ($s(), $t(Gs)).wasmBackend;
|
|
@@ -16671,6 +16674,7 @@ var processors_exports = {};
|
|
|
16671
16674
|
__export(processors_exports, {
|
|
16672
16675
|
ChatterboxProcessor: () => ChatterboxProcessor,
|
|
16673
16676
|
Florence2Processor: () => Florence2Processor,
|
|
16677
|
+
Gemma3Processor: () => Gemma3Processor,
|
|
16674
16678
|
Gemma3nProcessor: () => Gemma3nProcessor,
|
|
16675
16679
|
Glm46VProcessor: () => Glm46VProcessor,
|
|
16676
16680
|
GraniteSpeechProcessor: () => GraniteSpeechProcessor,
|
|
@@ -19661,6 +19665,7 @@ __export(image_processors_exports, {
|
|
|
19661
19665
|
DonutImageProcessor: () => DonutImageProcessor,
|
|
19662
19666
|
EfficientNetImageProcessor: () => EfficientNetImageProcessor,
|
|
19663
19667
|
GLPNFeatureExtractor: () => GLPNFeatureExtractor,
|
|
19668
|
+
Gemma3ImageProcessor: () => Gemma3ImageProcessor,
|
|
19664
19669
|
Glm46VImageProcessor: () => Glm46VImageProcessor,
|
|
19665
19670
|
GroundingDinoImageProcessor: () => GroundingDinoImageProcessor,
|
|
19666
19671
|
Idefics3ImageProcessor: () => Idefics3ImageProcessor,
|
|
@@ -19845,6 +19850,10 @@ var EfficientNetImageProcessor = class extends ImageProcessor {
|
|
|
19845
19850
|
}
|
|
19846
19851
|
};
|
|
19847
19852
|
|
|
19853
|
+
// src/models/gemma3/image_processing_gemma3.js
|
|
19854
|
+
var Gemma3ImageProcessor = class extends ImageProcessor {
|
|
19855
|
+
};
|
|
19856
|
+
|
|
19848
19857
|
// src/models/qwen2_vl/image_processing_qwen2_vl.js
|
|
19849
19858
|
var Qwen2VLImageProcessor = class extends ImageProcessor {
|
|
19850
19859
|
constructor(config) {
|
|
@@ -21068,6 +21077,48 @@ var Florence2Processor = class extends Processor {
|
|
|
21068
21077
|
}
|
|
21069
21078
|
};
|
|
21070
21079
|
|
|
21080
|
+
// src/models/gemma3/processing_gemma3.js
|
|
21081
|
+
var Gemma3Processor = class extends Processor {
|
|
21082
|
+
static tokenizer_class = AutoTokenizer;
|
|
21083
|
+
static image_processor_class = AutoImageProcessor;
|
|
21084
|
+
static uses_processor_config = true;
|
|
21085
|
+
static uses_chat_template_file = true;
|
|
21086
|
+
constructor(config, components, chat_template) {
|
|
21087
|
+
super(config, components, chat_template);
|
|
21088
|
+
this.image_seq_length = this.config.image_seq_length;
|
|
21089
|
+
const { boi_token, image_token, eoi_token } = this.tokenizer.config;
|
|
21090
|
+
this.boi_token = boi_token;
|
|
21091
|
+
this.image_token = image_token;
|
|
21092
|
+
this.eoi_token = eoi_token;
|
|
21093
|
+
const image_tokens_expanded = image_token.repeat(this.image_seq_length);
|
|
21094
|
+
this.full_image_sequence = `
|
|
21095
|
+
|
|
21096
|
+
${boi_token}${image_tokens_expanded}${eoi_token}
|
|
21097
|
+
|
|
21098
|
+
`;
|
|
21099
|
+
}
|
|
21100
|
+
/**
|
|
21101
|
+
* @param {string|string[]} text
|
|
21102
|
+
* @param {import('../../utils/image.js').RawImage|import('../../utils/image.js').RawImage[]} [images]
|
|
21103
|
+
* @param {Object} [options]
|
|
21104
|
+
*/
|
|
21105
|
+
async _call(text, images = null, options = {}) {
|
|
21106
|
+
if (typeof text === "string") {
|
|
21107
|
+
text = [text];
|
|
21108
|
+
}
|
|
21109
|
+
let image_inputs;
|
|
21110
|
+
if (images) {
|
|
21111
|
+
image_inputs = await this.image_processor(images, options);
|
|
21112
|
+
text = text.map((prompt) => prompt.replaceAll(this.boi_token, this.full_image_sequence));
|
|
21113
|
+
}
|
|
21114
|
+
const text_inputs = this.tokenizer(text, options);
|
|
21115
|
+
return {
|
|
21116
|
+
...text_inputs,
|
|
21117
|
+
...image_inputs
|
|
21118
|
+
};
|
|
21119
|
+
}
|
|
21120
|
+
};
|
|
21121
|
+
|
|
21071
21122
|
// src/models/gemma3n/processing_gemma3n.js
|
|
21072
21123
|
var Gemma3nProcessor = class extends Processor {
|
|
21073
21124
|
static image_processor_class = AutoImageProcessor;
|
|
@@ -24248,8 +24299,7 @@ var MODEL_TYPES = {
|
|
|
24248
24299
|
ImageAudioTextToText: 13,
|
|
24249
24300
|
Supertonic: 14,
|
|
24250
24301
|
Chatterbox: 15,
|
|
24251
|
-
|
|
24252
|
-
VoxtralRealtime: 17
|
|
24302
|
+
VoxtralRealtime: 16
|
|
24253
24303
|
};
|
|
24254
24304
|
var MODEL_TYPE_CONFIG = {
|
|
24255
24305
|
[MODEL_TYPES.DecoderOnly]: {
|
|
@@ -24306,12 +24356,12 @@ var MODEL_TYPE_CONFIG = {
|
|
|
24306
24356
|
can_generate: true,
|
|
24307
24357
|
forward: image_text_to_text_forward,
|
|
24308
24358
|
prepare_inputs: multimodal_text_to_text_prepare_inputs_for_generation,
|
|
24309
|
-
sessions: (config) => {
|
|
24359
|
+
sessions: (config, options, textOnly) => {
|
|
24310
24360
|
const s = {
|
|
24311
24361
|
embed_tokens: "embed_tokens",
|
|
24312
|
-
vision_encoder: "vision_encoder",
|
|
24313
24362
|
decoder_model_merged: "decoder_model_merged"
|
|
24314
24363
|
};
|
|
24364
|
+
if (!textOnly) s["vision_encoder"] = "vision_encoder";
|
|
24315
24365
|
if (config.is_encoder_decoder) s["model"] = "encoder_model";
|
|
24316
24366
|
return s;
|
|
24317
24367
|
},
|
|
@@ -24333,12 +24383,17 @@ var MODEL_TYPE_CONFIG = {
|
|
|
24333
24383
|
[MODEL_TYPES.ImageAudioTextToText]: {
|
|
24334
24384
|
can_generate: true,
|
|
24335
24385
|
prepare_inputs: multimodal_text_to_text_prepare_inputs_for_generation,
|
|
24336
|
-
sessions: () =>
|
|
24337
|
-
|
|
24338
|
-
|
|
24339
|
-
|
|
24340
|
-
|
|
24341
|
-
|
|
24386
|
+
sessions: (config, options, textOnly) => {
|
|
24387
|
+
const s = {
|
|
24388
|
+
embed_tokens: "embed_tokens",
|
|
24389
|
+
decoder_model_merged: "decoder_model_merged"
|
|
24390
|
+
};
|
|
24391
|
+
if (!textOnly) {
|
|
24392
|
+
s["audio_encoder"] = "audio_encoder";
|
|
24393
|
+
s["vision_encoder"] = "vision_encoder";
|
|
24394
|
+
}
|
|
24395
|
+
return s;
|
|
24396
|
+
},
|
|
24342
24397
|
optional_configs: { generation_config: "generation_config.json" }
|
|
24343
24398
|
},
|
|
24344
24399
|
[MODEL_TYPES.Phi3V]: {
|
|
@@ -24389,14 +24444,6 @@ var MODEL_TYPE_CONFIG = {
|
|
|
24389
24444
|
cache_sessions: { model: true },
|
|
24390
24445
|
optional_configs: { generation_config: "generation_config.json" }
|
|
24391
24446
|
},
|
|
24392
|
-
[MODEL_TYPES.MultimodalLanguageModelOnly]: {
|
|
24393
|
-
can_generate: true,
|
|
24394
|
-
forward: image_text_to_text_forward,
|
|
24395
|
-
prepare_inputs: multimodal_text_to_text_prepare_inputs_for_generation,
|
|
24396
|
-
sessions: () => ({ embed_tokens: "embed_tokens", decoder_model_merged: "decoder_model_merged" }),
|
|
24397
|
-
cache_sessions: { decoder_model_merged: true },
|
|
24398
|
-
optional_configs: { generation_config: "generation_config.json" }
|
|
24399
|
-
},
|
|
24400
24447
|
[MODEL_TYPES.VoxtralRealtime]: {
|
|
24401
24448
|
can_generate: true,
|
|
24402
24449
|
prepare_inputs: decoder_prepare_inputs_for_generation,
|
|
@@ -24422,6 +24469,19 @@ function getSessionsConfig(modelType, config, options = {}) {
|
|
|
24422
24469
|
optional_configs: typeConfig.optional_configs
|
|
24423
24470
|
};
|
|
24424
24471
|
}
|
|
24472
|
+
function resolveTypeConfig(modelName, config) {
|
|
24473
|
+
let modelType = MODEL_TYPE_MAPPING.get(modelName);
|
|
24474
|
+
let textOnly = false;
|
|
24475
|
+
const nativeArch = config?.architectures?.[0];
|
|
24476
|
+
if (nativeArch && nativeArch !== modelName && modelName?.endsWith("ForCausalLM") && nativeArch.endsWith("ForConditionalGeneration")) {
|
|
24477
|
+
const nativeType = MODEL_TYPE_MAPPING.get(nativeArch);
|
|
24478
|
+
if (nativeType !== void 0) {
|
|
24479
|
+
modelType = nativeType;
|
|
24480
|
+
textOnly = true;
|
|
24481
|
+
}
|
|
24482
|
+
}
|
|
24483
|
+
return { typeConfig: MODEL_TYPE_CONFIG[modelType] ?? MODEL_TYPE_CONFIG.default, textOnly, modelType };
|
|
24484
|
+
}
|
|
24425
24485
|
var MODEL_TYPE_MAPPING = /* @__PURE__ */ new Map();
|
|
24426
24486
|
var MODEL_NAME_TO_CLASS_MAPPING = /* @__PURE__ */ new Map();
|
|
24427
24487
|
var MODEL_CLASS_TO_NAME_MAPPING = /* @__PURE__ */ new Map();
|
|
@@ -24441,8 +24501,7 @@ var PreTrainedModel = class extends Callable2 {
|
|
|
24441
24501
|
this.sessions = sessions;
|
|
24442
24502
|
this.configs = configs;
|
|
24443
24503
|
const modelName = MODEL_CLASS_TO_NAME_MAPPING.get(this.constructor);
|
|
24444
|
-
const
|
|
24445
|
-
const typeConfig = MODEL_TYPE_CONFIG[modelType] ?? MODEL_TYPE_CONFIG.default;
|
|
24504
|
+
const { typeConfig } = resolveTypeConfig(modelName, config);
|
|
24446
24505
|
this.can_generate = typeConfig.can_generate;
|
|
24447
24506
|
this._forward = typeConfig.forward;
|
|
24448
24507
|
this._prepare_inputs_for_generation = typeConfig.prepare_inputs;
|
|
@@ -24505,9 +24564,8 @@ var PreTrainedModel = class extends Callable2 {
|
|
|
24505
24564
|
session_options
|
|
24506
24565
|
};
|
|
24507
24566
|
const modelName = MODEL_CLASS_TO_NAME_MAPPING.get(this);
|
|
24508
|
-
const modelType = MODEL_TYPE_MAPPING.get(modelName);
|
|
24509
24567
|
config = options.config = await AutoConfig.from_pretrained(pretrained_model_name_or_path, options);
|
|
24510
|
-
const typeConfig
|
|
24568
|
+
const { typeConfig, textOnly, modelType } = resolveTypeConfig(modelName, config);
|
|
24511
24569
|
if (modelType === void 0) {
|
|
24512
24570
|
const type = modelName ?? config?.model_type;
|
|
24513
24571
|
if (type !== "custom") {
|
|
@@ -24516,7 +24574,7 @@ var PreTrainedModel = class extends Callable2 {
|
|
|
24516
24574
|
);
|
|
24517
24575
|
}
|
|
24518
24576
|
}
|
|
24519
|
-
const sessions = typeConfig.sessions(config, options);
|
|
24577
|
+
const sessions = typeConfig.sessions(config, options, textOnly);
|
|
24520
24578
|
const promises = [
|
|
24521
24579
|
constructSessions(pretrained_model_name_or_path, sessions, options, typeConfig.cache_sessions)
|
|
24522
24580
|
];
|
|
@@ -25571,6 +25629,7 @@ __export(models_exports, {
|
|
|
25571
25629
|
Gemma2Model: () => Gemma2Model,
|
|
25572
25630
|
Gemma2PreTrainedModel: () => Gemma2PreTrainedModel,
|
|
25573
25631
|
Gemma3ForCausalLM: () => Gemma3ForCausalLM,
|
|
25632
|
+
Gemma3ForConditionalGeneration: () => Gemma3ForConditionalGeneration,
|
|
25574
25633
|
Gemma3Model: () => Gemma3Model,
|
|
25575
25634
|
Gemma3PreTrainedModel: () => Gemma3PreTrainedModel,
|
|
25576
25635
|
Gemma3nForCausalLM: () => Gemma3nForCausalLM,
|
|
@@ -27289,12 +27348,35 @@ var Gemma2Model = class extends Gemma2PreTrainedModel {
|
|
|
27289
27348
|
var Gemma2ForCausalLM = class extends Gemma2PreTrainedModel {
|
|
27290
27349
|
};
|
|
27291
27350
|
|
|
27351
|
+
// src/models/llava/modeling_llava.js
|
|
27352
|
+
var LlavaPreTrainedModel = class extends PreTrainedModel {
|
|
27353
|
+
forward_params = ["input_ids", "attention_mask", "pixel_values", "position_ids", "past_key_values"];
|
|
27354
|
+
};
|
|
27355
|
+
var LlavaForConditionalGeneration = class extends LlavaPreTrainedModel {
|
|
27356
|
+
_merge_input_ids_with_image_features(kwargs) {
|
|
27357
|
+
const vision_hidden_size = kwargs.image_features.dims.at(-1);
|
|
27358
|
+
const reshaped_image_hidden_states = kwargs.image_features.view(-1, vision_hidden_size);
|
|
27359
|
+
return default_merge_input_ids_with_image_features({
|
|
27360
|
+
// @ts-ignore
|
|
27361
|
+
image_token_id: this.config.image_token_index ?? this.config.image_token_id,
|
|
27362
|
+
...kwargs,
|
|
27363
|
+
image_features: reshaped_image_hidden_states
|
|
27364
|
+
});
|
|
27365
|
+
}
|
|
27366
|
+
};
|
|
27367
|
+
var Moondream1ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
27368
|
+
};
|
|
27369
|
+
var LlavaQwen2ForCausalLM = class extends LlavaForConditionalGeneration {
|
|
27370
|
+
};
|
|
27371
|
+
|
|
27292
27372
|
// src/models/gemma3/modeling_gemma3.js
|
|
27293
27373
|
var Gemma3PreTrainedModel = class extends PreTrainedModel {
|
|
27294
27374
|
};
|
|
27295
27375
|
var Gemma3Model = class extends Gemma3PreTrainedModel {
|
|
27296
27376
|
};
|
|
27297
|
-
var
|
|
27377
|
+
var Gemma3ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
27378
|
+
};
|
|
27379
|
+
var Gemma3ForCausalLM = class extends Gemma3ForConditionalGeneration {
|
|
27298
27380
|
};
|
|
27299
27381
|
|
|
27300
27382
|
// src/models/gemma3n/modeling_gemma3n.js
|
|
@@ -27477,8 +27559,8 @@ var Qwen2VLForConditionalGeneration = class extends Qwen2VLPreTrainedModel {
|
|
|
27477
27559
|
for (let x = 0; x < 3; ++x) {
|
|
27478
27560
|
for (const val of llm_pos_ids_list) {
|
|
27479
27561
|
const seg_len = val.length / 3;
|
|
27480
|
-
for (let
|
|
27481
|
-
llm_positions[index++] = val[
|
|
27562
|
+
for (let z2 = x * seg_len; z2 < (x + 1) * seg_len; ++z2) {
|
|
27563
|
+
llm_positions[index++] = val[z2];
|
|
27482
27564
|
}
|
|
27483
27565
|
}
|
|
27484
27566
|
}
|
|
@@ -27660,40 +27742,45 @@ var Qwen2VLForConditionalGeneration = class extends Qwen2VLPreTrainedModel {
|
|
|
27660
27742
|
});
|
|
27661
27743
|
}
|
|
27662
27744
|
prepare_inputs_for_generation(input_ids, model_inputs, generation_config) {
|
|
27663
|
-
if (model_inputs.attention_mask
|
|
27664
|
-
|
|
27665
|
-
|
|
27745
|
+
if (!model_inputs.attention_mask || model_inputs.position_ids) {
|
|
27746
|
+
return model_inputs;
|
|
27747
|
+
}
|
|
27748
|
+
const session = this.sessions["decoder_model_merged"] ?? this.sessions["model"];
|
|
27749
|
+
if (!session.inputNames.includes("position_ids")) {
|
|
27750
|
+
return model_inputs;
|
|
27751
|
+
}
|
|
27752
|
+
if (!model_inputs.past_key_values) {
|
|
27753
|
+
[model_inputs.position_ids, model_inputs.rope_deltas] = this.get_rope_index(
|
|
27754
|
+
model_inputs.input_ids,
|
|
27755
|
+
model_inputs.image_grid_thw,
|
|
27756
|
+
model_inputs.video_grid_thw,
|
|
27757
|
+
model_inputs.attention_mask
|
|
27758
|
+
);
|
|
27759
|
+
} else {
|
|
27760
|
+
model_inputs.pixel_values = null;
|
|
27761
|
+
const past_length = model_inputs.past_key_values.get_seq_length();
|
|
27762
|
+
if (past_length < model_inputs.input_ids.dims[1]) {
|
|
27763
|
+
const [full_position_ids, rope_deltas] = this.get_rope_index(
|
|
27666
27764
|
model_inputs.input_ids,
|
|
27667
27765
|
model_inputs.image_grid_thw,
|
|
27668
27766
|
model_inputs.video_grid_thw,
|
|
27669
27767
|
model_inputs.attention_mask
|
|
27670
27768
|
);
|
|
27769
|
+
model_inputs.rope_deltas = rope_deltas;
|
|
27770
|
+
model_inputs.position_ids = full_position_ids.slice(null, null, [past_length, null]);
|
|
27771
|
+
model_inputs.input_ids = model_inputs.input_ids.slice(null, [past_length, null]);
|
|
27671
27772
|
} else {
|
|
27672
|
-
model_inputs.
|
|
27673
|
-
|
|
27674
|
-
if (past_length < model_inputs.input_ids.dims[1]) {
|
|
27675
|
-
const [full_position_ids, rope_deltas] = this.get_rope_index(
|
|
27773
|
+
if (!model_inputs.rope_deltas) {
|
|
27774
|
+
[, model_inputs.rope_deltas] = this.get_rope_index(
|
|
27676
27775
|
model_inputs.input_ids,
|
|
27677
27776
|
model_inputs.image_grid_thw,
|
|
27678
27777
|
model_inputs.video_grid_thw,
|
|
27679
27778
|
model_inputs.attention_mask
|
|
27680
27779
|
);
|
|
27681
|
-
model_inputs.rope_deltas = rope_deltas;
|
|
27682
|
-
model_inputs.position_ids = full_position_ids.slice(null, null, [past_length, null]);
|
|
27683
|
-
model_inputs.input_ids = model_inputs.input_ids.slice(null, [past_length, null]);
|
|
27684
|
-
} else {
|
|
27685
|
-
if (!model_inputs.rope_deltas) {
|
|
27686
|
-
[, model_inputs.rope_deltas] = this.get_rope_index(
|
|
27687
|
-
model_inputs.input_ids,
|
|
27688
|
-
model_inputs.image_grid_thw,
|
|
27689
|
-
model_inputs.video_grid_thw,
|
|
27690
|
-
model_inputs.attention_mask
|
|
27691
|
-
);
|
|
27692
|
-
}
|
|
27693
|
-
const delta = BigInt(past_length);
|
|
27694
|
-
const rope_deltas_list = model_inputs.rope_deltas.map((x) => delta + x);
|
|
27695
|
-
model_inputs.position_ids = stack([rope_deltas_list, rope_deltas_list, rope_deltas_list], 0);
|
|
27696
27780
|
}
|
|
27781
|
+
const delta = BigInt(past_length);
|
|
27782
|
+
const rope_deltas_list = model_inputs.rope_deltas.map((x) => delta + x);
|
|
27783
|
+
model_inputs.position_ids = stack([rope_deltas_list, rope_deltas_list, rope_deltas_list], 0);
|
|
27697
27784
|
}
|
|
27698
27785
|
}
|
|
27699
27786
|
return model_inputs;
|
|
@@ -27976,27 +28063,6 @@ var HunYuanDenseV1Model = class extends HunYuanDenseV1PreTrainedModel {
|
|
|
27976
28063
|
var HunYuanDenseV1ForCausalLM = class extends HunYuanDenseV1PreTrainedModel {
|
|
27977
28064
|
};
|
|
27978
28065
|
|
|
27979
|
-
// src/models/llava/modeling_llava.js
|
|
27980
|
-
var LlavaPreTrainedModel = class extends PreTrainedModel {
|
|
27981
|
-
forward_params = ["input_ids", "attention_mask", "pixel_values", "position_ids", "past_key_values"];
|
|
27982
|
-
};
|
|
27983
|
-
var LlavaForConditionalGeneration = class extends LlavaPreTrainedModel {
|
|
27984
|
-
_merge_input_ids_with_image_features(kwargs) {
|
|
27985
|
-
const vision_hidden_size = kwargs.image_features.dims.at(-1);
|
|
27986
|
-
const reshaped_image_hidden_states = kwargs.image_features.view(-1, vision_hidden_size);
|
|
27987
|
-
return default_merge_input_ids_with_image_features({
|
|
27988
|
-
// @ts-ignore
|
|
27989
|
-
image_token_id: this.config.image_token_index ?? this.config.image_token_id,
|
|
27990
|
-
...kwargs,
|
|
27991
|
-
image_features: reshaped_image_hidden_states
|
|
27992
|
-
});
|
|
27993
|
-
}
|
|
27994
|
-
};
|
|
27995
|
-
var Moondream1ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
27996
|
-
};
|
|
27997
|
-
var LlavaQwen2ForCausalLM = class extends LlavaForConditionalGeneration {
|
|
27998
|
-
};
|
|
27999
|
-
|
|
28000
28066
|
// src/models/idefics3/modeling_idefics3.js
|
|
28001
28067
|
var Idefics3ForConditionalGeneration = class extends LlavaForConditionalGeneration {
|
|
28002
28068
|
forward_params = [
|
|
@@ -30894,6 +30960,7 @@ var MODEL_FOR_CAUSAL_LM_MAPPING_NAMES = /* @__PURE__ */ new Map([
|
|
|
30894
30960
|
["qwen3_vl", "Qwen3VLForCausalLM"],
|
|
30895
30961
|
["qwen3_vl_moe", "Qwen3VLMoeForCausalLM"],
|
|
30896
30962
|
["qwen3_5", "Qwen3_5ForCausalLM"],
|
|
30963
|
+
["qwen3_5_text", "Qwen3_5ForCausalLM"],
|
|
30897
30964
|
["qwen3_5_moe", "Qwen3_5MoeForCausalLM"],
|
|
30898
30965
|
["gemma3n", "Gemma3nForCausalLM"],
|
|
30899
30966
|
["phi", "PhiForCausalLM"],
|
|
@@ -30981,6 +31048,7 @@ var MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES = /* @__PURE__ */ new Map([
|
|
|
30981
31048
|
["smolvlm", "SmolVLMForConditionalGeneration"],
|
|
30982
31049
|
["paligemma", "PaliGemmaForConditionalGeneration"],
|
|
30983
31050
|
["llava_qwen2", "LlavaQwen2ForCausalLM"],
|
|
31051
|
+
["gemma3", "Gemma3ForConditionalGeneration"],
|
|
30984
31052
|
["gemma3n", "Gemma3nForConditionalGeneration"],
|
|
30985
31053
|
["mistral3", "Mistral3ForConditionalGeneration"],
|
|
30986
31054
|
["lighton_ocr", "LightOnOcrForConditionalGeneration"],
|
|
@@ -31175,13 +31243,6 @@ var CUSTOM_MAPPING = [
|
|
|
31175
31243
|
],
|
|
31176
31244
|
["SupertonicForConditionalGeneration", SupertonicForConditionalGeneration, MODEL_TYPES.Supertonic],
|
|
31177
31245
|
["ChatterboxModel", ChatterboxModel, MODEL_TYPES.Chatterbox],
|
|
31178
|
-
["Qwen2VLForCausalLM", Qwen2VLForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31179
|
-
["Qwen2_5_VLForCausalLM", Qwen2_5_VLForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31180
|
-
["Qwen3VLForCausalLM", Qwen3VLForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31181
|
-
["Qwen3VLMoeForCausalLM", Qwen3VLMoeForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31182
|
-
["Qwen3_5ForCausalLM", Qwen3_5ForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31183
|
-
["Qwen3_5MoeForCausalLM", Qwen3_5MoeForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31184
|
-
["Gemma3nForCausalLM", Gemma3nForCausalLM, MODEL_TYPES.MultimodalLanguageModelOnly],
|
|
31185
31246
|
[
|
|
31186
31247
|
"VoxtralRealtimeForConditionalGeneration",
|
|
31187
31248
|
VoxtralRealtimeForConditionalGeneration,
|
|
@@ -32863,6 +32924,41 @@ var TASK_ALIASES = Object.freeze({
|
|
|
32863
32924
|
embeddings: "feature-extraction"
|
|
32864
32925
|
});
|
|
32865
32926
|
|
|
32927
|
+
// src/utils/model_registry/resolve_model_type.js
|
|
32928
|
+
function resolve_model_type(config, { warn = true } = {}) {
|
|
32929
|
+
const architectures = (
|
|
32930
|
+
/** @type {string[]} */
|
|
32931
|
+
config.architectures || []
|
|
32932
|
+
);
|
|
32933
|
+
for (const arch of architectures) {
|
|
32934
|
+
const mappedType = MODEL_TYPE_MAPPING.get(arch);
|
|
32935
|
+
if (mappedType !== void 0) {
|
|
32936
|
+
return mappedType;
|
|
32937
|
+
}
|
|
32938
|
+
}
|
|
32939
|
+
if (config.model_type) {
|
|
32940
|
+
const mappedType = MODEL_TYPE_MAPPING.get(config.model_type);
|
|
32941
|
+
if (mappedType !== void 0) {
|
|
32942
|
+
return mappedType;
|
|
32943
|
+
}
|
|
32944
|
+
for (const mapping of Object.values(MODEL_MAPPING_NAMES)) {
|
|
32945
|
+
if (mapping.has(config.model_type)) {
|
|
32946
|
+
const resolved = MODEL_TYPE_MAPPING.get(mapping.get(config.model_type));
|
|
32947
|
+
if (resolved !== void 0) {
|
|
32948
|
+
return resolved;
|
|
32949
|
+
}
|
|
32950
|
+
}
|
|
32951
|
+
}
|
|
32952
|
+
}
|
|
32953
|
+
if (warn) {
|
|
32954
|
+
const archList = architectures.length > 0 ? architectures.join(", ") : "(none)";
|
|
32955
|
+
logger.warn(
|
|
32956
|
+
`[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}`
|
|
32957
|
+
);
|
|
32958
|
+
}
|
|
32959
|
+
return MODEL_TYPES.EncoderOnly;
|
|
32960
|
+
}
|
|
32961
|
+
|
|
32866
32962
|
// src/utils/model_registry/get_model_files.js
|
|
32867
32963
|
function get_config(modelId, { config = null, cache_dir = null, local_files_only = false, revision = "main" } = {}) {
|
|
32868
32964
|
if (config !== null) {
|
|
@@ -32885,43 +32981,7 @@ async function get_model_files(modelId, { config = null, dtype: overrideDtype =
|
|
|
32885
32981
|
const subfolder = "onnx";
|
|
32886
32982
|
const rawDevice = overrideDevice ?? custom_config.device;
|
|
32887
32983
|
let dtype = overrideDtype ?? custom_config.dtype;
|
|
32888
|
-
|
|
32889
|
-
const architectures = (
|
|
32890
|
-
/** @type {string[]} */
|
|
32891
|
-
config.architectures || []
|
|
32892
|
-
);
|
|
32893
|
-
let foundInMapping = false;
|
|
32894
|
-
for (const arch of architectures) {
|
|
32895
|
-
const mappedType = MODEL_TYPE_MAPPING.get(arch);
|
|
32896
|
-
if (mappedType !== void 0) {
|
|
32897
|
-
modelType = mappedType;
|
|
32898
|
-
foundInMapping = true;
|
|
32899
|
-
break;
|
|
32900
|
-
}
|
|
32901
|
-
}
|
|
32902
|
-
if (!foundInMapping && config.model_type) {
|
|
32903
|
-
const mappedType = MODEL_TYPE_MAPPING.get(config.model_type);
|
|
32904
|
-
if (mappedType !== void 0) {
|
|
32905
|
-
modelType = mappedType;
|
|
32906
|
-
foundInMapping = true;
|
|
32907
|
-
}
|
|
32908
|
-
if (!foundInMapping) {
|
|
32909
|
-
for (const mapping of Object.values(MODEL_MAPPING_NAMES)) {
|
|
32910
|
-
if (mapping.has(config.model_type)) {
|
|
32911
|
-
modelType = MODEL_TYPE_MAPPING.get(mapping.get(config.model_type));
|
|
32912
|
-
foundInMapping = true;
|
|
32913
|
-
break;
|
|
32914
|
-
}
|
|
32915
|
-
}
|
|
32916
|
-
}
|
|
32917
|
-
}
|
|
32918
|
-
if (!foundInMapping) {
|
|
32919
|
-
const archList = architectures.length > 0 ? architectures.join(", ") : "(none)";
|
|
32920
|
-
logger.warn(
|
|
32921
|
-
`[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}`
|
|
32922
|
-
);
|
|
32923
|
-
modelType = MODEL_TYPES.EncoderOnly;
|
|
32924
|
-
}
|
|
32984
|
+
const modelType = resolve_model_type(config);
|
|
32925
32985
|
const add_model_file = (fileName, baseName = null) => {
|
|
32926
32986
|
baseName = baseName ?? fileName;
|
|
32927
32987
|
const selectedDevice = selectDevice(rawDevice, fileName);
|
|
@@ -33508,6 +33568,31 @@ async function clear_pipeline_cache(task, modelId, options = {}) {
|
|
|
33508
33568
|
return await clear_files_from_cache(modelId, files, options);
|
|
33509
33569
|
}
|
|
33510
33570
|
|
|
33571
|
+
// src/utils/model_registry/get_available_dtypes.js
|
|
33572
|
+
var CONCRETE_DTYPES = Object.keys(DEFAULT_DTYPE_SUFFIX_MAPPING);
|
|
33573
|
+
async function get_available_dtypes(modelId, { config = null, model_file_name = null, revision = "main", cache_dir = null, local_files_only = false } = {}) {
|
|
33574
|
+
config = await get_config(modelId, { config, cache_dir, local_files_only, revision });
|
|
33575
|
+
const subfolder = "onnx";
|
|
33576
|
+
const modelType = resolve_model_type(config);
|
|
33577
|
+
const { sessions } = getSessionsConfig(modelType, config, { model_file_name });
|
|
33578
|
+
const baseNames = Object.values(sessions);
|
|
33579
|
+
const metadataOptions = { revision, cache_dir, local_files_only };
|
|
33580
|
+
const probeResults = await Promise.all(
|
|
33581
|
+
CONCRETE_DTYPES.map(async (dtype) => {
|
|
33582
|
+
const suffix = DEFAULT_DTYPE_SUFFIX_MAPPING[dtype] ?? "";
|
|
33583
|
+
const allExist = await Promise.all(
|
|
33584
|
+
baseNames.map(async (baseName) => {
|
|
33585
|
+
const filename = `${subfolder}/${baseName}${suffix}.onnx`;
|
|
33586
|
+
const metadata = await get_file_metadata(modelId, filename, metadataOptions);
|
|
33587
|
+
return metadata.exists;
|
|
33588
|
+
})
|
|
33589
|
+
);
|
|
33590
|
+
return { dtype, available: allExist.every(Boolean) };
|
|
33591
|
+
})
|
|
33592
|
+
);
|
|
33593
|
+
return probeResults.filter((r) => r.available).map((r) => r.dtype);
|
|
33594
|
+
}
|
|
33595
|
+
|
|
33511
33596
|
// src/utils/model_registry/ModelRegistry.js
|
|
33512
33597
|
var ModelRegistry = class {
|
|
33513
33598
|
/**
|
|
@@ -33594,6 +33679,29 @@ var ModelRegistry = class {
|
|
|
33594
33679
|
static async get_processor_files(modelId) {
|
|
33595
33680
|
return get_processor_files(modelId);
|
|
33596
33681
|
}
|
|
33682
|
+
/**
|
|
33683
|
+
* Detects which quantization levels (dtypes) are available for a model
|
|
33684
|
+
* by checking which ONNX files exist on the hub or locally.
|
|
33685
|
+
*
|
|
33686
|
+
* A dtype is considered available if all required model session files
|
|
33687
|
+
* exist for that dtype.
|
|
33688
|
+
*
|
|
33689
|
+
* @param {string} modelId - The model id (e.g., "onnx-community/all-MiniLM-L6-v2-ONNX")
|
|
33690
|
+
* @param {Object} [options] - Optional parameters
|
|
33691
|
+
* @param {import('../../configs.js').PretrainedConfig} [options.config=null] - Pre-loaded config
|
|
33692
|
+
* @param {string} [options.model_file_name=null] - Override the model file name (excluding .onnx suffix)
|
|
33693
|
+
* @param {string} [options.revision='main'] - Model revision
|
|
33694
|
+
* @param {string} [options.cache_dir=null] - Custom cache directory
|
|
33695
|
+
* @param {boolean} [options.local_files_only=false] - Only check local files
|
|
33696
|
+
* @returns {Promise<string[]>} Array of available dtype strings (e.g., ['fp32', 'fp16', 'q4', 'q8'])
|
|
33697
|
+
*
|
|
33698
|
+
* @example
|
|
33699
|
+
* const dtypes = await ModelRegistry.get_available_dtypes('onnx-community/all-MiniLM-L6-v2-ONNX');
|
|
33700
|
+
* console.log(dtypes); // ['fp32', 'fp16', 'int8', 'uint8', 'q8', 'q4']
|
|
33701
|
+
*/
|
|
33702
|
+
static async get_available_dtypes(modelId, options = {}) {
|
|
33703
|
+
return get_available_dtypes(modelId, options);
|
|
33704
|
+
}
|
|
33597
33705
|
/**
|
|
33598
33706
|
* Quickly checks if a model is fully cached by verifying `config.json` is present,
|
|
33599
33707
|
* then confirming all required files are cached.
|
|
@@ -34041,8 +34149,11 @@ var ModelRegistry = class {
|
|
|
34041
34149
|
Gemma2Model,
|
|
34042
34150
|
Gemma2PreTrainedModel,
|
|
34043
34151
|
Gemma3ForCausalLM,
|
|
34152
|
+
Gemma3ForConditionalGeneration,
|
|
34153
|
+
Gemma3ImageProcessor,
|
|
34044
34154
|
Gemma3Model,
|
|
34045
34155
|
Gemma3PreTrainedModel,
|
|
34156
|
+
Gemma3Processor,
|
|
34046
34157
|
Gemma3nAudioFeatureExtractor,
|
|
34047
34158
|
Gemma3nForCausalLM,
|
|
34048
34159
|
Gemma3nForConditionalGeneration,
|
|
@@ -34661,7 +34772,7 @@ var ModelRegistry = class {
|
|
|
34661
34772
|
|
|
34662
34773
|
onnxruntime-web/dist/ort.webgpu.bundle.min.mjs:
|
|
34663
34774
|
(*!
|
|
34664
|
-
* ONNX Runtime Web v1.25.0-dev.
|
|
34775
|
+
* ONNX Runtime Web v1.25.0-dev.20260323-a99aad9d36
|
|
34665
34776
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
34666
34777
|
* Licensed under the MIT License.
|
|
34667
34778
|
*)
|