1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
//! Module containing tensor types. //! //! Two main types of tensors are available. //! //! The first one, [`Tensor`](struct.Tensor.html), //! is an _owned_ tensor that is backed by [`ndarray`](https://crates.io/crates/ndarray). //! This kind of tensor is used to pass input data for the inference. //! //! The second one, [`OrtOwnedTensor`](struct.OrtOwnedTensor.html), is used //! internally to pass to the ONNX Runtime inference execution to place //! its output values. It is built using a [`OrtOwnedTensorExtractor`](struct.OrtOwnedTensorExtractor.html) //! following the builder pattern. //! //! Once "extracted" from the runtime environment, this tensor will contain an //! [`ndarray::ArrayView`](https://docs.rs/ndarray/latest/ndarray/type.ArrayView.html) //! containing _a view_ of the data. When going out of scope, this tensor will free the required //! memory on the C side. //! //! **NOTE**: Tensors are not meant to be built directly. When performing inference, //! the [`Session::run()`](../session/struct.Session.html#method.run) method takes //! an `ndarray::Array` as input (taking ownership of it) and will convert it internally //! to a [`Tensor`](struct.Tensor.html). After inference, a [`OrtOwnedTensor`](struct.OrtOwnedTensor.html) //! will be returned by the method which can be derefed into its internal //! [`ndarray::ArrayView`](https://docs.rs/ndarray/latest/ndarray/type.ArrayView.html). pub mod ndarray_tensor; pub mod ort_owned_tensor; pub mod ort_tensor; pub use ort_owned_tensor::OrtOwnedTensor; pub use ort_tensor::OrtTensor;