onnxruntime-rs/README.md
2020-08-23 15:33:23 +01:00

1.9 KiB

onnxruntime

Cargo CI Nix CI

This crate provides bindings to onnxruntime. Raw bindings to the C API (sys module) as well as some opinionated wrappers to make onnxruntime usable safely from plain Rust.

In order to build and use this crate with cargo you must either have onnxruntime installed on your system or point to the release (or build) of onnxruntime you want to use manually.

Tested (on Linux) with onnxruntime versions:

Download the latest release of onnxruntime

Download from: https://github.com/microsoft/onnxruntime/releases

Then either install it globally (for example /usr/local/{lib,include/) or export the following environment variables:

ONNXRUNTIME_LIB_DIR: path to the lib directory of the release ONNXRUNTIME_INCLUDE_DIR: path to the include directory of the release

Also make sure the lib directory is also part of LD_LIBRARY_PATH.

Build onnxruntime from source

Follow the guide at: https://github.com/microsoft/onnxruntime/blob/master/BUILD.md

For Linux/Mac OS X:

  • The lib directory will be: onnxruntime/build/Linux/RelWithDebInfo/
  • The include directory will be: onnxruntime/include/onnxruntime/core/session/

In onnxruntime directory:

./build.sh --config RelWithDebInfo --build_shared_lib --parallel
export ONNXRUNTIME_LIB_DIR=$PWD/build/Linux/RelWithDebInfo/
export ONNXRUNTIME_INCLUDE_DIR=$PWD/include
export LD_LIBRARY_PATH=$ONNXRUNTIME_LIB_DIR:$LD_LIBRARY_PATH

License

MIT License

Copyright 2020 Basile Henry, Chris Chalmers