onnxruntime/js/react_native
Pavan Goyal 1b82d835d8
[Fix] InterOpNumThreads Session Option for ONNX ReactNative Package (#21263)
### Description
This PR resolves a bug related to setting the **interOpNumThreads**
session option when creating an **ORTSession**. Currently, when the
**interOpNumThreads** option is passed from React Native, the native
module incorrectly sets **intraOpNumThreads** instead of
**interOpNumThreads**.


### Motivation and Context
Since this is a bug, users of the Onnx React Native package may believe
that they are setting **interOpNumThreads** correctly, So this change is
required. Refer to the code snippet below for details
<img width="634" alt="Screenshot 2024-07-05 at 9 28 58 PM"
src="https://github.com/microsoft/onnxruntime/assets/88655321/70a8f216-553a-4f4c-9481-e6871f0e37e6">
2024-07-10 07:00:18 -07:00
..
android [Fix] InterOpNumThreads Session Option for ONNX ReactNative Package (#21263) 2024-07-10 07:00:18 -07:00
e2e Upgrade braces from 3.0.2 to 3.0.3 to fix the vulnerability (#21022) 2024-06-12 18:02:52 -07:00
ios Remove deprecated "mobile" packages (#20941) 2024-06-07 16:20:32 -05:00
lib Bump up version in main from 1.18.0 to 1.19.0 (#20489) 2024-04-29 20:21:41 -07:00
scripts [js] update prepack script to use exact version (#17484) 2023-09-13 00:07:16 -07:00
.gitignore [js/react_native] Create ONNX Runtime React Native pipeline (#10474) 2022-02-09 21:37:05 -08:00
app.plugin.js [REACT NATIVE] Bugfix -> casing Podfile (#18861) 2023-12-19 10:20:46 +10:00
babel.config.js [js] enable formatter for more file types (#16888) 2023-07-28 15:46:58 -07:00
onnxruntime-react-native.podspec Upgrade min ios version to 13.0 (#20773) 2024-06-04 10:15:20 -07:00
package.json Bump up version in main from 1.18.0 to 1.19.0 (#20489) 2024-04-29 20:21:41 -07:00
README.md [js] enable formatter for more file types (#16888) 2023-07-28 15:46:58 -07: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] upgrade JS shared dev dependencies (#17831) 2023-10-10 17:44:39 -07:00
tsconfig.scripts.json ONNX Runtime React Native Library (#7564) 2021-05-11 10:34:40 -07:00
unimodule.json [js] enable formatter for more file types (#16888) 2023-07-28 15:46:58 -07:00
yarn.lock Upgrade braces from 3.0.2 to 3.0.3 to fix the vulnerability (#21022) 2024-06-12 18:02:52 -07: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.