Skip to content
This repository was archived by the owner on Jun 4, 2021. It is now read-only.
/ onnxjs-node Public archive

ONNX.js node binding (onnxruntime)

License

Notifications You must be signed in to change notification settings

fs-eire/onnxjs-node

Repository files navigation

npm version GitHub version

onnxjs-node

onnxjs-node is a Node.js binding of ONNXRuntime that works seamlessly with ONNX.js.

Installation

Install the latest stable version:

npm install onnxjs-node

NOTE: binary files will be pulled from github during the npm install process.

Supported Platforms

OS Arch CPU/GPU NAPI version ONNXRuntime version
Windows x64 CPU v3 v0.4.0
Linux x64 CPU v3 v0.4.0
macOS x64 CPU v3 v0.4.0
Windows x64 GPU v3 v0.4.0
Linux x64 GPU v3 v0.4.0

Usage

There are 2 options to import onnxjs-node.

  • Option 1 - replace onnxjs by onnxjs-node:
    //const onnx = require('onnxjs');
    const onnx = require('onnxjs-node');
    
    // use 'onnx'
    // ...
  • Option 2 - add a single line to require onnxjs-node:
    const onnx = require('onnxjs');
    require('onnxjs-node');  // this line can be put on the top as well
    
    // use 'onnx'
    // ...

After onnxjs-node is imported, the default inference session class of ONNX.js will be overwritten. Any existing ONNX.js code will continue to work and model will run by ONNXRuntime backend.

Options

Enable/Disable GPU

Coming soon...

Backend Fallback

After onnxjs-node is imported, ONNXRuntime backend will be used by default. However, it is possible to fallback to other backend by specifying the session option backendHint:

session = new onnx.InferenceSession({backendHint: 'wasm'});  // use WebAssembly backend

Documentation

License

Copyright (c) fs-eire. All rights reserved.

Licensed under the MIT License.