bevy_ort 0.1.0

bevy ort (onnxruntime) plugin
Documentation

bevy_ort 🪨

test GitHub License GitHub Last Commit GitHub Releases GitHub Issues Average time to resolve an issue crates.io

a bevy plugin for the ort library

capabilities

  • load ONNX models as ORT session assets
  • initialize ORT with default execution providers

library usage

use bevy_ort::{
    BevyOrtPlugin,
};


fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            BevyOrtPlugin,
        ))
        .add_systems(Startup, load_model)
        .add_system(Update, inference)
        .run();
}

fn load_model(
    asset_server: Res<AssetServer>,
) {
    let model_handle: Handle<Onnx> = asset_server.load("path/to/model.onnx");
}

fn inference(
    asset_server: Res<AssetServer>,
    mut models: ResMut<Assets<Onnx>>,
) {
    let model_handle: Handle<Onnx> = todo!();

    if Some(LoadState::Loaded) == asset_server.get_load_state(model_handle) {
        let model: &Onnx = models.get(model_handle).unwrap();

        if let Some(session) = &model.session {
            let input_values = todo!();
            let outputs = session.run(input_values).unwrap();
        }
    }
}

run the example person segmentation model

cargo run --bin modnet -- --input assets/person.jpg

compatible bevy versions

bevy_ort bevy
0.1.0 0.13