@huggingface/transformers 3.0.0-alpha.9 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -50
- package/dist/ort-wasm-simd-threaded.jsep.wasm +0 -0
- package/dist/transformers.cjs +2550 -2552
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.js +3639 -3567
- package/dist/transformers.js.map +1 -1
- package/dist/transformers.min.cjs +25 -25
- package/dist/transformers.min.cjs.map +1 -1
- package/dist/transformers.min.js +41 -42
- package/dist/transformers.min.js.map +1 -1
- package/dist/transformers.min.mjs +56 -57
- package/dist/transformers.min.mjs.map +1 -1
- package/dist/transformers.mjs +2586 -2564
- package/dist/transformers.mjs.map +1 -1
- package/package.json +14 -13
- package/src/backends/onnx.js +24 -19
- package/src/configs.js +19 -4
- package/src/env.js +5 -9
- package/src/generation/logits_process.js +40 -37
- package/src/models.js +356 -539
- package/src/ops/registry.js +14 -3
- package/src/pipelines.js +5 -5
- package/src/processors.js +392 -351
- package/src/tokenizers.js +140 -175
- package/src/utils/constants.js +1 -1
- package/src/utils/core.js +12 -0
- package/src/utils/data-structures.js +13 -11
- package/src/utils/hub.js +1 -1
- package/src/utils/maths.js +14 -5
- package/src/utils/tensor.js +60 -13
- package/types/backends/onnx.d.ts +5 -2
- package/types/backends/onnx.d.ts.map +1 -1
- package/types/configs.d.ts +29 -3
- package/types/configs.d.ts.map +1 -1
- package/types/env.d.ts +4 -2
- package/types/env.d.ts.map +1 -1
- package/types/generation/logits_process.d.ts.map +1 -1
- package/types/models.d.ts +116 -289
- package/types/models.d.ts.map +1 -1
- package/types/ops/registry.d.ts +6 -6
- package/types/ops/registry.d.ts.map +1 -1
- package/types/pipelines.d.ts +1 -2
- package/types/pipelines.d.ts.map +1 -1
- package/types/processors.d.ts +58 -51
- package/types/processors.d.ts.map +1 -1
- package/types/tokenizers.d.ts +23 -32
- package/types/tokenizers.d.ts.map +1 -1
- package/types/utils/constants.d.ts +1 -1
- package/types/utils/constants.d.ts.map +1 -1
- package/types/utils/core.d.ts +7 -0
- package/types/utils/core.d.ts.map +1 -1
- package/types/utils/data-structures.d.ts +6 -6
- package/types/utils/data-structures.d.ts.map +1 -1
- package/types/utils/hub.d.ts +1 -1
- package/types/utils/hub.d.ts.map +1 -1
- package/types/utils/maths.d.ts +2 -2
- package/types/utils/maths.d.ts.map +1 -1
- package/types/utils/tensor.d.ts +27 -1
- package/types/utils/tensor.d.ts.map +1 -1
package/src/utils/tensor.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Helper module for `Tensor` processing.
|
|
3
|
-
*
|
|
4
|
-
* These functions and classes are only used internally,
|
|
3
|
+
*
|
|
4
|
+
* These functions and classes are only used internally,
|
|
5
5
|
* meaning an end-user shouldn't need to access anything here.
|
|
6
|
-
*
|
|
6
|
+
*
|
|
7
7
|
* @module utils/tensor
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -169,9 +169,9 @@ export class Tensor {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
|
-
* @param {number} index
|
|
173
|
-
* @param {number} iterSize
|
|
174
|
-
* @param {any} iterDims
|
|
172
|
+
* @param {number} index
|
|
173
|
+
* @param {number} iterSize
|
|
174
|
+
* @param {any} iterDims
|
|
175
175
|
* @returns {Tensor}
|
|
176
176
|
*/
|
|
177
177
|
_subarray(index, iterSize, iterDims) {
|
|
@@ -228,6 +228,30 @@ export class Tensor {
|
|
|
228
228
|
return this;
|
|
229
229
|
}
|
|
230
230
|
|
|
231
|
+
/**
|
|
232
|
+
* Return a new Tensor with a callback function applied to each element.
|
|
233
|
+
* @param {Function} callback - The function to apply to each element. It should take three arguments:
|
|
234
|
+
* the current element, its index, and the tensor's data array.
|
|
235
|
+
* @returns {Tensor} A new Tensor with the callback function applied to each element.
|
|
236
|
+
*/
|
|
237
|
+
map(callback) {
|
|
238
|
+
return this.clone().map_(callback);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Apply a callback function to each element of the tensor in place.
|
|
243
|
+
* @param {Function} callback - The function to apply to each element. It should take three arguments:
|
|
244
|
+
* the current element, its index, and the tensor's data array.
|
|
245
|
+
* @returns {Tensor} Returns `this`.
|
|
246
|
+
*/
|
|
247
|
+
map_(callback) {
|
|
248
|
+
const this_data = this.data;
|
|
249
|
+
for (let i = 0; i < this_data.length; ++i) {
|
|
250
|
+
this_data[i] = callback(this_data[i], i, this_data);
|
|
251
|
+
}
|
|
252
|
+
return this;
|
|
253
|
+
}
|
|
254
|
+
|
|
231
255
|
/**
|
|
232
256
|
* Return a new Tensor with every element multiplied by a constant.
|
|
233
257
|
* @param {number} val The value to multiply by.
|
|
@@ -271,6 +295,7 @@ export class Tensor {
|
|
|
271
295
|
}
|
|
272
296
|
return this;
|
|
273
297
|
}
|
|
298
|
+
|
|
274
299
|
/**
|
|
275
300
|
* Return a new Tensor with every element added by a constant.
|
|
276
301
|
* @param {number} val The value to add by.
|
|
@@ -293,6 +318,28 @@ export class Tensor {
|
|
|
293
318
|
return this;
|
|
294
319
|
}
|
|
295
320
|
|
|
321
|
+
/**
|
|
322
|
+
* Return a new Tensor with every element subtracted by a constant.
|
|
323
|
+
* @param {number} val The value to subtract by.
|
|
324
|
+
* @returns {Tensor} The new tensor.
|
|
325
|
+
*/
|
|
326
|
+
sub(val) {
|
|
327
|
+
return this.clone().sub_(val);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Subtract the tensor by a constant in place.
|
|
332
|
+
* @param {number} val The value to subtract by.
|
|
333
|
+
* @returns {Tensor} Returns `this`.
|
|
334
|
+
*/
|
|
335
|
+
sub_(val) {
|
|
336
|
+
const this_data = this.data;
|
|
337
|
+
for (let i = 0; i < this_data.length; ++i) {
|
|
338
|
+
this_data[i] -= val;
|
|
339
|
+
}
|
|
340
|
+
return this;
|
|
341
|
+
}
|
|
342
|
+
|
|
296
343
|
clone() {
|
|
297
344
|
return new Tensor(this.type, this.data.slice(), this.dims.slice());
|
|
298
345
|
}
|
|
@@ -387,7 +434,7 @@ export class Tensor {
|
|
|
387
434
|
|
|
388
435
|
/**
|
|
389
436
|
* Returns the sum of each row of the input tensor in the given dimension dim.
|
|
390
|
-
*
|
|
437
|
+
*
|
|
391
438
|
* @param {number} [dim=null] The dimension or dimensions to reduce. If `null`, all dimensions are reduced.
|
|
392
439
|
* @param {boolean} keepdim Whether the output tensor has `dim` retained or not.
|
|
393
440
|
* @returns The summed tensor
|
|
@@ -520,10 +567,10 @@ export class Tensor {
|
|
|
520
567
|
|
|
521
568
|
/**
|
|
522
569
|
* Returns a tensor with all specified dimensions of input of size 1 removed.
|
|
523
|
-
*
|
|
570
|
+
*
|
|
524
571
|
* NOTE: The returned tensor shares the storage with the input tensor, so changing the contents of one will change the contents of the other.
|
|
525
572
|
* If you would like a copy, use `tensor.clone()` before squeezing.
|
|
526
|
-
*
|
|
573
|
+
*
|
|
527
574
|
* @param {number} [dim=null] If given, the input will be squeezed only in the specified dimensions.
|
|
528
575
|
* @returns {Tensor} The squeezed tensor
|
|
529
576
|
*/
|
|
@@ -545,9 +592,9 @@ export class Tensor {
|
|
|
545
592
|
|
|
546
593
|
/**
|
|
547
594
|
* Returns a new tensor with a dimension of size one inserted at the specified position.
|
|
548
|
-
*
|
|
595
|
+
*
|
|
549
596
|
* NOTE: The returned tensor shares the same underlying data with this tensor.
|
|
550
|
-
*
|
|
597
|
+
*
|
|
551
598
|
* @param {number} dim The index at which to insert the singleton dimension
|
|
552
599
|
* @returns {Tensor} The unsqueezed tensor
|
|
553
600
|
*/
|
|
@@ -698,7 +745,7 @@ export class Tensor {
|
|
|
698
745
|
|
|
699
746
|
/**
|
|
700
747
|
* This creates a nested array of a given type and depth (see examples).
|
|
701
|
-
*
|
|
748
|
+
*
|
|
702
749
|
* @example
|
|
703
750
|
* NestArray<string, 1>; // string[]
|
|
704
751
|
* @example
|
|
@@ -1025,7 +1072,7 @@ function calc_unsqueeze_dims(dims, dim) {
|
|
|
1025
1072
|
* @param {number} size The size of the array.
|
|
1026
1073
|
* @param {number} [dimension=null] The dimension that the index is for (optional).
|
|
1027
1074
|
* @returns {number} The index, guaranteed to be non-negative and less than `arrayLength`.
|
|
1028
|
-
*
|
|
1075
|
+
*
|
|
1029
1076
|
* @throws {Error} If the index is out of range.
|
|
1030
1077
|
* @private
|
|
1031
1078
|
*/
|
package/types/backends/onnx.d.ts
CHANGED
|
@@ -8,9 +8,12 @@ export function deviceToExecutionProviders(device?: import("../utils/devices.js"
|
|
|
8
8
|
* Create an ONNX inference session.
|
|
9
9
|
* @param {Uint8Array} buffer The ONNX model buffer.
|
|
10
10
|
* @param {import('onnxruntime-common').InferenceSession.SessionOptions} session_options ONNX inference session options.
|
|
11
|
-
* @
|
|
11
|
+
* @param {Object} session_config ONNX inference session configuration.
|
|
12
|
+
* @returns {Promise<import('onnxruntime-common').InferenceSession & { config: Object}>} The ONNX inference session.
|
|
12
13
|
*/
|
|
13
|
-
export function createInferenceSession(buffer: Uint8Array, session_options: import('onnxruntime-common').InferenceSession.SessionOptions): Promise<import('onnxruntime-common').InferenceSession
|
|
14
|
+
export function createInferenceSession(buffer: Uint8Array, session_options: import('onnxruntime-common').InferenceSession.SessionOptions, session_config: any): Promise<import('onnxruntime-common').InferenceSession & {
|
|
15
|
+
config: any;
|
|
16
|
+
}>;
|
|
14
17
|
/**
|
|
15
18
|
* Check if an object is an ONNX tensor.
|
|
16
19
|
* @param {any} x The object to check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onnx.d.ts","sourceRoot":"","sources":["../../src/backends/onnx.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onnx.d.ts","sourceRoot":"","sources":["../../src/backends/onnx.js"],"names":[],"mappings":"AA+GA;;;;GAIG;AACH,oDAHW,OAAO,qBAAqB,EAAE,UAAU,GAAC,MAAM,GAAC,IAAI,GAClD,sBAAsB,EAAE,CAqBpC;AAWD;;;;;;GAMG;AACH,+CALW,UAAU,mBACV,OAAO,oBAAoB,EAAE,gBAAgB,CAAC,cAAc,wBAE1D,QAAQ,OAAO,oBAAoB,EAAE,gBAAgB,GAAG;IAAE,MAAM,MAAQ;CAAC,CAAC,CActF;AAED;;;;GAIG;AACH,gCAHW,GAAG,GACD,OAAO,CAInB;AA+BD;;;GAGG;AACH,+BAFa,OAAO,CAKnB;;qCAnLY,OAAO,oBAAoB,EAAE,gBAAgB,CAAC,uBAAuB"}
|
package/types/configs.d.ts
CHANGED
|
@@ -26,9 +26,14 @@ export class PretrainedConfig {
|
|
|
26
26
|
* @param {Object} configJSON The JSON of the config.
|
|
27
27
|
*/
|
|
28
28
|
constructor(configJSON: any);
|
|
29
|
-
|
|
30
|
-
model_type:
|
|
29
|
+
/** @type {string|null} */
|
|
30
|
+
model_type: string | null;
|
|
31
|
+
/** @type {boolean} */
|
|
31
32
|
is_encoder_decoder: boolean;
|
|
33
|
+
/** @type {number} */
|
|
34
|
+
max_position_embeddings: number;
|
|
35
|
+
/** @type {TransformersJSConfig} */
|
|
36
|
+
'transformers.js_config': TransformersJSConfig;
|
|
32
37
|
normalized_config: any;
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
@@ -54,6 +59,27 @@ export type PretrainedOptions = import('./utils/hub.js').PretrainedOptions;
|
|
|
54
59
|
* Transformers.js-specific configuration, possibly present in config.json under the key `transformers.js_config`.
|
|
55
60
|
*/
|
|
56
61
|
export type TransformersJSConfig = {
|
|
57
|
-
|
|
62
|
+
/**
|
|
63
|
+
* The data type of the key-value cache.
|
|
64
|
+
*/
|
|
65
|
+
kv_cache_dtype?: import('./utils/tensor.js').DataType | Record<import('./utils/dtypes.js').DataType, import('./utils/tensor.js').DataType>;
|
|
66
|
+
/**
|
|
67
|
+
* Override the free dimensions of the model.
|
|
68
|
+
* See https://onnxruntime.ai/docs/tutorials/web/env-flags-and-session-options.html#freedimensionoverrides
|
|
69
|
+
* for more information.
|
|
70
|
+
*/
|
|
71
|
+
free_dimension_overrides?: Record<string, number>;
|
|
72
|
+
/**
|
|
73
|
+
* The default device to use for the model.
|
|
74
|
+
*/
|
|
75
|
+
device?: import('./utils/devices.js').DeviceType;
|
|
76
|
+
/**
|
|
77
|
+
* The default data type to use for the model.
|
|
78
|
+
*/
|
|
79
|
+
dtype?: import('./utils/dtypes.js').DataType;
|
|
80
|
+
/**
|
|
81
|
+
* Whether to load the model using the external data format (used for models >= 2GB in size).
|
|
82
|
+
*/
|
|
83
|
+
use_external_data_format?: boolean | Record<string, boolean>;
|
|
58
84
|
};
|
|
59
85
|
//# sourceMappingURL=configs.d.ts.map
|
package/types/configs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.js"],"names":[],"mappings":"AAmNA;;;;GAIG;AACH,0CAHW,gBAAgB;;IACd,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,CA6EpC;AACD;;;GAGG;AACH;IAwBI;;;;;;;;OAQG;IACH,sDANW,MAAM,0EACN,iBAAiB,GAGf,QAAQ,gBAAgB,CAAC,CAqBrC;IArCD;;;OAGG;IACH,6BAGC;IAnBD,0BAA0B;IAC1B,YADW,MAAM,GAAC,IAAI,CACJ;IAElB,sBAAsB;IACtB,oBADW,OAAO,CACS;IAE3B,qBAAqB;IACrB,yBADW,MAAM,CACO;IAExB,mCAAmC;IACnC,0BADW,oBAAoB,CACN;IAQrB,uBAAkD;CAgCzD;AAED;;;;;GAKG;AACH;IArCI;;;;;;;;OAQG;IACH,6MAmBC;CAcJ;gCAvUY,OAAO,gBAAgB,EAAE,iBAAiB;;;;;;;;qBA4UzC,OAAO,mBAAmB,EAAE,QAAQ,GAAC,OAAO,OAAO,mBAAmB,EAAE,QAAQ,EAAE,OAAO,mBAAmB,EAAE,QAAQ,CAAC;;;;;;+BACvH,OAAO,MAAM,EAAE,MAAM,CAAC;;;;aAGtB,OAAO,oBAAoB,EAAE,UAAU;;;;YACvC,OAAO,mBAAmB,EAAE,QAAQ;;;;+BACpC,OAAO,GAAC,OAAO,MAAM,EAAE,OAAO,CAAC"}
|
package/types/env.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export const apis: Readonly<{
|
|
|
25
25
|
* Global variable given visible to users to control execution. This provides users a simple way to configure Transformers.js.
|
|
26
26
|
* @typedef {Object} TransformersEnvironment
|
|
27
27
|
* @property {string} version This version of Transformers.js.
|
|
28
|
-
* @property {
|
|
28
|
+
* @property {{onnx: Partial<import('onnxruntime-common').Env>}} backends Expose environment variables of different backends,
|
|
29
29
|
* allowing users to set these variables if they want to.
|
|
30
30
|
* @property {boolean} allowRemoteModels Whether to allow loading of remote files, defaults to `true`.
|
|
31
31
|
* If set to `false`, it will have the same effect as setting `local_files_only=true` when loading pipelines, models, tokenizers, processors, etc.
|
|
@@ -56,7 +56,9 @@ export type TransformersEnvironment = {
|
|
|
56
56
|
* Expose environment variables of different backends,
|
|
57
57
|
* allowing users to set these variables if they want to.
|
|
58
58
|
*/
|
|
59
|
-
backends:
|
|
59
|
+
backends: {
|
|
60
|
+
onnx: Partial<import('onnxruntime-common').Env>;
|
|
61
|
+
};
|
|
60
62
|
/**
|
|
61
63
|
* Whether to allow loading of remote files, defaults to `true`.
|
|
62
64
|
* If set to `false`, it will have the same effect as setting `local_files_only=true` when loading pipelines, models, tokenizers, processors, etc.
|
package/types/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.js"],"names":[],"mappings":"AA0CA;;GAEG;AACH;IACI,sDAAsD;;IAGtD,yDAAyD;;IAGzD,yCAAyC;;IAGzC,0CAA0C;;IAG1C,yCAAyC;;IAGzC,mDAAmD;;IAGnD,sDAAsD;;IAGtD,8CAA8C;;IAG9C,wCAAwC;;GAEzC;AAkBH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,sCAAsC;AACtC,kBADW,uBAAuB,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.js"],"names":[],"mappings":"AA0CA;;GAEG;AACH;IACI,sDAAsD;;IAGtD,yDAAyD;;IAGzD,yCAAyC;;IAGzC,0CAA0C;;IAG1C,yCAAyC;;IAGzC,mDAAmD;;IAGnD,sDAAsD;;IAGtD,8CAA8C;;IAG9C,wCAAwC;;GAEzC;AAkBH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,sCAAsC;AACtC,kBADW,uBAAuB,CA6BjC;;;;;;;;aAhDa,MAAM;;;;;cACN;QAAC,IAAI,EAAE,QAAQ,OAAO,oBAAoB,EAAE,GAAG,CAAC,CAAA;KAAC;;;;;uBAEjD,OAAO;;;;gBAEP,MAAM;;;;wBACN,MAAM;;;;;sBACN,OAAO;;;;oBAEP,MAAM;;;;WACN,OAAO;;;;qBACP,OAAO;;;;gBACP,OAAO;;;;cACP,MAAM;;;;oBACN,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logits_process.d.ts","sourceRoot":"","sources":["../../src/generation/logits_process.js"],"names":[],"mappings":";;;;AAUA;;GAEG;AACH;IACI;;;;;;;OAOG;IACH,iBAJW,MAAM,EAAE,EAAE,UACV,MAAM,QAKhB;CACJ;;;;;AAGD;;GAEG;AACH;IACI;;;;;;;OAOG;IACH,iBAJW,MAAM,EAAE,EAAE,UACV,MAAM,QAKhB;CACJ;;;;;AAGD;;;;GAIG;AACH;IAMQ,kBAAoB;IAGxB;;;;OAIG;IACH,WAFW,eAAe,QAIzB;IAED;;;;OAIG;IACH,cAFW,eAAe,EAAE,QAI3B;IAED;;;;;OAKG;IACH,iBAHW,MAAM,EAAE,EAAE,UACV,MAAM,UAShB;IAED,2CAEC;CACJ;AAwCD;;GAEG;AACH;IACI;;;OAGG;IACH,0BAFW,MAAM,EAKhB;IADG,qBAAgC;IAGpC;;;;;OAKG;IACH,iBAJW,MAAM,EAAE,EAAE,UACV,MAAM,OAYhB;CACJ;AAED;;GAEG;AACH;IACI;;;;OAIG;IACH,wBAHW,MAAM,gBACN,MAAM,GAAC,MAAM,EAAE,EAMzB;IAFG,mBAA4B;IAC5B,uBAA+E;IAGnF;;;;;OAKG;IACH,iBAHW,MAAM,EAAE,EAAE,UACV,MAAM,
|
|
1
|
+
{"version":3,"file":"logits_process.d.ts","sourceRoot":"","sources":["../../src/generation/logits_process.js"],"names":[],"mappings":"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"}
|