1#![allow(clippy::len_zero)]
2#[allow(unused_imports)]
3#[macro_use]
4extern crate derive_new;
5#[allow(unused_imports)]
6#[macro_use]
7extern crate log;
8extern crate num_integer;
9#[allow(unused_imports)]
10#[macro_use]
11pub extern crate tract_hir;
12
13pub mod model;
14pub mod ops;
15
16#[allow(clippy::all)]
17pub mod pb {
18    include!("prost/onnx.rs");
19}
20
21pub mod pb_helpers;
22pub mod data_resolver;
23pub mod tensor;
24
25pub use model::Onnx;
26
27pub use tract_hir::tract_core;
28pub mod prelude {
29    pub use crate::onnx;
30    pub use tract_hir::prelude::*;
31    pub use tract_onnx_opl::WithOnnx;
32}
33pub use tract_onnx_opl::WithOnnx;
34
35use tract_hir::prelude::*;
36
37#[deprecated(note = "Please use onnx().model_for_path(..)")]
38pub fn for_path(p: impl AsRef<std::path::Path>) -> TractResult<InferenceModel> {
39    onnx().model_for_path(p)
40}
41
42#[deprecated(note = "Please use onnx().model_for_read(..)")]
43pub fn for_reader<R: std::io::Read>(mut r: R) -> TractResult<InferenceModel> {
44    onnx().model_for_read(&mut r)
45}
46
47pub fn onnx() -> Onnx {
48    let mut ops = crate::model::OnnxOpRegister::default();
49    ops::register_all_ops(&mut ops);
50    Onnx { op_register: ops, ..Onnx::default() }
51}