oar_ocr/core/inference/
session.rs1use crate::core::errors::OCRError;
4use ort::session::Session;
5use std::path::Path;
6
7pub fn load_session(model_path: impl AsRef<Path>) -> Result<Session, OCRError> {
8 let path = model_path.as_ref();
9 let session = Session::builder()
10 .and_then(|b| b.commit_from_file(path))
11 .map_err(|e| {
12 OCRError::model_load_error(
13 path,
14 "failed to create ONNX session",
15 Some("verify model file exists and is readable"),
16 Some(e),
17 )
18 })?;
19 Ok(session)
20}