[−][src]Crate tract_core
Tract
Tiny, no-nonsense, self contained, portable SharedTensor and ONNX inference.
Example
use tract_core::*; use tract_core::model::*; use tract_core::model::dsl::*; // build a simple model that just add 3 to each input component let mut model = Model::default(); let input = model.add_source("input").unwrap(); let three = model.add_const("three".to_string(), 3f32.into()).unwrap(); let add = model.add_node("add".to_string(), Box::new(tract_core::ops::math::Add::default())).unwrap(); model.add_edge(OutletId::new(input, 0), InletId::new(add, 0)).unwrap(); model.add_edge(OutletId::new(three, 0), InletId::new(add, 1)).unwrap(); // we build an execution plan. default input and output are inferred from // the model graph let plan = SimplePlan::new(&model).unwrap(); // run the computation. let input = ndarray::arr1(&[1.0f32, 2.5, 5.0]); let mut outputs = plan.run(tvec![input.into()]).unwrap(); // take the first and only output tensor let mut tensor = outputs.pop().unwrap(); // unwrap it as array of f32 let tensor = tensor.to_array_view::<f32>().unwrap(); assert_eq!(tensor, ndarray::arr1(&[4.0, 5.5, 8.0]).into_dyn());
While creating a model from Rust code is usefull for testing the library, real-life use-cases will usually load a SharedTensor or ONNX model using tract-tf or tract-onnx crates.
Re-exports
pub extern crate ndarray; |
pub use crate::errors::*; |
pub use crate::analyser::types::TensorFact; |
pub use crate::datum::DatumType; |
pub use crate::dim::TDim; |
pub use crate::model::Model; |
pub use crate::model::Node; |
pub use crate::model::TVec; |
pub use crate::plan::SimplePlan; |
pub use crate::plan::SimpleState; |
pub use crate::tensor::SharedTensor; |
pub use crate::tensor::Tensor; |
Modules
analyser | |
broadcast | |
context | |
datum |
|
dim | |
errors | error_chain generated types |
macros | |
model | |
ops | SharedTensorFlow Ops |
optim | |
plan | |
pulse | |
tensor |
|
Macros
args_1 | |
args_2 | |
args_3 | |
args_4 | |
args_5 | |
assert_backward | Asserts that backward inference results work as expected. |
assert_close | |
assert_forward | Asserts that forward inference results work as expected. |
boxed_new | |
dimfact | Constructs a dimension fact. |
dispatch_datum | |
dispatch_floatlike | |
dispatch_numbers | |
element_bin | |
impl_op_same_as | |
shapefact | Constructs a shape fact. |
tvec | |
typefact | Constructs a type fact. |
unwrap_or_none | Tries to unwrap an option, or returns Ok(None) otherwise. |
valuefact | Constructs an value fact. |
wrap |
Traits
ToTract | |
Tractify |