Skip to content

shakacode/onnxruntime-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Rust bindings to onnxruntime

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 89.0%
  • Nix 9.2%
  • Shell 1.4%
  • C 0.4%