ort2
- onnxruntime wrapper for rust 2
- tested
| OS |
Linux |
Windows |
MacOS |
| CPU |
Y |
Y |
Y(aarch64) |
| CUDA |
Y |
Y |
N/A |
Pre-requirements
- download onnxruntime from onnxruntime github Repo, unzip it
- setup enviroment variable
ORT_INC_PATH=/opt/homebrew/opt/onnxruntime/include
ORT_LIB_PATH=/opt/homebrew/opt/onnxruntime/lib
Getting Started
use ort2::prelude::*;
let model = include_bytes!("models/mnist-8.onnx");
let session = Session::builder()
.build(model.as_ref())
.expect("failed to create session");
let input = vec![0.0f32;28 * 28];
let value = Value::tensor()
.with_shape([1, 1, 28, 28])
.with_typ(ONNXTensorElementDataType::ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT)
.borrow(&input)
.expect("failed to build value");
let output = session.run([&value])
.expect("failed to run")
.into_iter()
.next()
.expect("failed to get outputs");
let output = output
.view::<f32>()
.expect("failed to view output");
assert_eq!(output.shape()[1], 10);