onnxruntime/js/common
Yulong Wang 07cfc56538
[js] enable external data loading for ort-web (#19087)
### Description
enable external data loading for ort-web.

### Why
The ORT external data design is highly depending on the file system,
especially synchronous file I/O APIs. Those are not available in web
platforms. We need to have extra code to make external data working on
web.

### How
Considering there is no file system in web, an implementation for web to
support external data is to use pre-loaded data. Assume model file
a.onnx includes initializers that linked to ./b.bin, we require users to
pass a full data file list when creating the session. The user code will
be look like:
```js
const mySess = await ort.InferenceSession.create('./path/model/a.onnx', {
  // session options
  externalData: [
    {
      // relative or absolute path/URL of the file,
      // or a pre-loaded Uint8Array containing the data of the external data file
      data: './path/data/b.bin', 

      // the relative path of the external data. Should match initializers' "location" value defined in the model file
      path: './b.bin'
    },
    // { } if multiple external data file
  ]
});
```

Currently, this feature only works with JSEP build enabled.
2024-01-12 19:24:24 -08:00
..
lib [js] enable external data loading for ort-web (#19087) 2024-01-12 19:24:24 -08:00
test [js/common] a few fixes/revises to onnxruntime-common (#16853) 2023-08-01 11:17:39 -07:00
.gitignore [js/common] a few fixes/revises to onnxruntime-common (#16853) 2023-08-01 11:17:39 -07:00
.npmignore [js/common] a few fixes/revises to onnxruntime-common (#16853) 2023-08-01 11:17:39 -07:00
build.js [js] upgrade JS shared dev dependencies (#17831) 2023-10-10 17:44:39 -07:00
package-lock.json Bump Up Version to 1.17.0 (#17587) 2023-09-20 11:02:58 +08:00
package.json Bump Up Version to 1.17.0 (#17587) 2023-09-20 11:02:58 +08:00
README.md Replace 'master' branch ref to 'main' in the code (#12547) 2022-08-22 10:48:12 -07:00
tsconfig.json [js/web] fix typescript type check (#18343) 2023-11-10 16:03:38 -08:00
typedoc.json [js] enable formatter for more file types (#16888) 2023-07-28 15:46:58 -07:00
webpack.config.js [js/common] allow import onnxruntime-common as ESM and CJS (#15772) 2023-06-12 12:05:11 -07:00

ONNX Runtime JavaScript API

ONNX Runtime JavaScript API is a unified API for all JavaScript usages. It's dependency of the following NPM packages:

  • onnxruntime-node
  • onnxruntime-web
  • onnxruntime-react-native

This package (onnxruntime-common) is not designed for using directly. Please consider to install one of the NPM packages above according to target platform.

License

License information can be found here.