onnxruntime/js/react_native
Yulong Wang cc0a6213e4
[js] update versions of a few build dependencies (#13977)
### Description
update versions of a few build dependencies for onnxruntime NPM
packages.

update nodejs version to v16.x in linux CI. v12 is too out-of-dated. see
[nodejs release
schedule](https://github.com/nodejs/release#release-schedule)

### Motivation and Context
- upgrade to latest webpack allows using of latest Node.js LTS version.
previous version of webpack does not work on Node.js v18 and it is fixed
in latest version
- upgrade to latest typescript, ts-loader and other dev deps to
accelerate the build and bundling.
- upgrade also helps to resolve security warnings that may be vulnerable
in out-of-dated version
2022-12-16 17:26:54 -08:00
..
android Revert "[js/rn] support load model from buffer on Android (#12676)" (#13903) 2022-12-09 11:05:54 -08:00
e2e [React Native CI] Record more info to debug E2E test (#13329) 2022-10-18 17:21:28 -07:00
ios [rn] Support UINT8 type for onnxruntime-react-native on iOS (#13210) 2022-10-06 11:35:25 -07:00
lib Revert "[js/rn] support load model from buffer on Android (#12676)" (#13903) 2022-12-09 11:05:54 -08:00
scripts [js/rn] fix CI packaging for react native E2E test (#11463) 2022-05-09 18:09:52 -07:00
.gitignore [js/react_native] Create ONNX Runtime React Native pipeline (#10474) 2022-02-09 21:37:05 -08:00
app.plugin.js [js/rn] add expo config plugin support (#11556) 2022-05-25 11:55:35 -07:00
babel.config.js [js] resolve CodeQL warnings for force strict mode (#8645) 2021-08-06 19:35:43 -07:00
onnxruntime-c.podspec Use full ORT package for onnxruntime-react-native. (#13037) 2022-09-23 07:20:03 +10:00
onnxruntime-react-native.podspec Use full ORT package for onnxruntime-react-native. (#13037) 2022-09-23 07:20:03 +10:00
package.json [js] update versions of a few build dependencies (#13977) 2022-12-16 17:26:54 -08:00
README.md Update React Native documentation to reflect change to use full ORT (#13091) 2022-09-28 08:11:58 +10:00
test_types_models.readme.md Use full ORT package for onnxruntime-react-native. (#13037) 2022-09-23 07:20:03 +10:00
tsconfig.build.json [js/react_native] Create ONNX Runtime React Native pipeline (#10474) 2022-02-09 21:37:05 -08:00
tsconfig.json [js] release pipeline for web and react native (#10656) 2022-03-01 21:38:33 -08:00
tsconfig.scripts.json ONNX Runtime React Native Library (#7564) 2021-05-11 10:34:40 -07:00
unimodule.json [js/rn] add expo config plugin support (#11556) 2022-05-25 11:55:35 -07:00
yarn.lock [js] update versions of a few build dependencies (#13977) 2022-12-16 17:26:54 -08:00

onnxruntime-react-native

ONNX Runtime React Native provides a JavaScript library for running ONNX models in a React Native app.

Why ONNX models

The Open Neural Network Exchange (ONNX) is an open standard for representing machine learning models. The biggest advantage of ONNX is that it allows interoperability across different open source AI frameworks, which itself offers more flexibility for AI frameworks adoption.

Why ONNX Runtime React Native

With ONNX Runtime React Native, React Native developers can score pre-trained ONNX models directly in React Native apps by leveraging ONNX Runtime, so it provides a light-weight inference solution for Android and iOS.

Installation

yarn add onnxruntime-react-native

Usage

import { InferenceSession } from "onnxruntime-react-native";

// load a model
const session: InferenceSession = await InferenceSession.create(modelPath);
// input as InferenceSession.OnnxValueMapType
const result = session.run(input, ['num_detection:0', 'detection_classes:0'])

Refer to ONNX Runtime JavaScript examples for samples and tutorials. The ONNX Runtime React Native library does not currently support the following features:

  • Tensors with unsigned data types, with the exception of uint8 on Android devices
  • Model loading using ArrayBuffer

Operator and type support

ONNX Runtime React Native version 1.13 supports both ONNX and ORT format models, and includes all operators and types.

Previous ONNX Runtime React Native packages use the ONNX Runtime Mobile package, and support operators and types used in popular mobile models. See here for the list of supported operators and types.

License

License information can be found here.