use std::path::Path;
use external_data::ExternalDataLoader;
pub use load::{InputShaper, OnnxDimValue};
pub use loader::GraphLoader;
use crate::graph::Graph;
use crate::onnx::result::OnnxResult;
use crate::shape::Size;
pub mod external_data;
mod inputs;
mod load;
#[allow(warnings)]
mod proto;
pub mod result;
mod store;
mod typed_value;
mod loader;
pub fn load_graph_from_onnx_path(path: impl AsRef<Path>, allow_external: bool) -> OnnxResult<Graph> {
let mut loader = GraphLoader::from_path(path, allow_external)?;
loader.add_named_axis("batch_size", Size::BATCH);
loader.load()
}
pub fn load_graph_from_onnx_bytes(buffer: &[u8]) -> OnnxResult<Graph> {
let mut loader = GraphLoader::from_bytes(buffer);
loader.add_named_axis("batch_size", Size::BATCH);
loader.load()
}
pub fn load_graph_from_onnx_bytes_custom(buffer: &[u8], external: Box<dyn ExternalDataLoader>) -> OnnxResult<Graph> {
let mut loader = GraphLoader::from_bytes(buffer);
loader.set_external_data(external);
loader.add_named_axis("batch_size", Size::BATCH);
loader.load()
}