Skip to main content

ronn_api/
lib.rs

1// High-level API for RONN runtime
2//
3// Provides a simple, ergonomic interface for loading models and running inference.
4
5pub mod async_session;
6pub mod batch;
7mod error;
8mod model;
9mod session;
10
11pub use async_session::{AsyncBatchProcessor, AsyncSession};
12pub use batch::{BatchConfig, BatchProcessor, BatchRequest, BatchStats, BatchStrategy};
13pub use error::{Error, Result};
14pub use model::Model;
15pub use session::{InferenceSession, SessionBuilder, SessionOptions};
16
17// Re-export commonly used types
18pub use ronn_core::tensor::Tensor;
19pub use ronn_core::types::DataType;
20pub use ronn_graph::OptimizationLevel;
21pub use ronn_providers::{ExecutionProvider, ProviderType};
22
23/// Prelude module for convenient imports
24pub mod prelude {
25    pub use crate::{Model, SessionBuilder, SessionOptions, Tensor};
26    pub use ronn_graph::OptimizationLevel;
27    pub use ronn_providers::ProviderType;
28}
29
30#[cfg(test)]
31mod tests {
32    use super::*;
33
34    #[test]
35    fn test_session_options() {
36        let options = SessionOptions::default();
37        assert_eq!(options.optimization_level(), OptimizationLevel::O2);
38    }
39}