Struct tract_pulse::internal::Tensor  
[−]pub struct Tensor { /* private fields */ }Expand description
Tensor is a concrete tensor in tract.
Implementations
impl Tensor
impl Tensor
pub unsafe fn uninitialized<T>(shape: &[usize]) -> Result<Tensor, Error> where
    T: Datum, 
pub unsafe fn uninitialized<T>(shape: &[usize]) -> Result<Tensor, Error> where
    T: Datum, 
Create an uninitialized tensor (dt as type paramater).
pub unsafe fn uninitialized_dt(
    dt: DatumType, 
    shape: &[usize]
) -> Result<Tensor, Error>
pub unsafe fn uninitialized_dt(
    dt: DatumType, 
    shape: &[usize]
) -> Result<Tensor, Error>
Create an uninitialized tensor (dt as regular parameter).
pub unsafe fn uninitialized_aligned<T>(
    shape: &[usize], 
    alignment: usize
) -> Result<Tensor, Error> where
    T: Datum, 
pub unsafe fn uninitialized_aligned<T>(
    shape: &[usize], 
    alignment: usize
) -> Result<Tensor, Error> where
    T: Datum, 
Create an uninitialized tensor with a given alignment (in bytes).
pub unsafe fn uninitialized_aligned_dt(
    dt: DatumType, 
    shape: &[usize], 
    alignment: usize
) -> Result<Tensor, Error>
pub unsafe fn uninitialized_aligned_dt(
    dt: DatumType, 
    shape: &[usize], 
    alignment: usize
) -> Result<Tensor, Error>
Create an uninitialized tensor with a given alignment (in bytes).
pub fn stack_tensors(
    axis: usize, 
    tensors: &[impl Borrow<Tensor>]
) -> Result<Tensor, Error>
pub fn clear<T>(&mut self) -> Result<(), Error> where
    T: Datum + Zero + Clone, 
pub fn zero<T>(shape: &[usize]) -> Result<Tensor, Error> where
    T: Datum + Zero, 
pub fn zero_scalar<T>() -> Result<Tensor, Error> where
    T: Datum + Zero, 
pub fn zero_scalar_dt(dt: DatumType) -> Result<Tensor, Error>
pub fn zero_dt(dt: DatumType, shape: &[usize]) -> Result<Tensor, Error>
pub fn zero_aligned_dt(
    dt: DatumType, 
    shape: &[usize], 
    alignment: usize
) -> Result<Tensor, Error>
pub fn zero_aligned<T>(
    shape: &[usize], 
    alignment: usize
) -> Result<Tensor, Error> where
    T: Datum + Zero, 
pub fn from_shape<T>(shape: &[usize], data: &[T]) -> Result<Tensor, Error> where
    T: Datum + Copy, 
pub fn from_shape<T>(shape: &[usize], data: &[T]) -> Result<Tensor, Error> where
    T: Datum + Copy, 
Create a tensor with a given shape and a slice of elements. The data is copied and aligned to size of T.
pub fn from_shape_align<T>(
    shape: &[usize], 
    data: &[T], 
    align: usize
) -> Result<Tensor, Error> where
    T: Datum + Copy, 
pub fn from_shape_align<T>(
    shape: &[usize], 
    data: &[T], 
    align: usize
) -> Result<Tensor, Error> where
    T: Datum + Copy, 
Create a tensor with a given shape and a slice of elements. The data is copied and aligned to given alignment.
pub unsafe fn from_raw<T>(
    shape: &[usize], 
    content: &[u8]
) -> Result<Tensor, Error> where
    T: Datum, 
pub unsafe fn from_raw<T>(
    shape: &[usize], 
    content: &[u8]
) -> Result<Tensor, Error> where
    T: Datum, 
Create a tensor from raw data.
It copies the data, aligning it to the size of T.
pub unsafe fn from_raw_aligned<T>(
    shape: &[usize], 
    content: &[u8], 
    align: usize
) -> Result<Tensor, Error> where
    T: Datum, 
pub unsafe fn from_raw_dt(
    dt: DatumType, 
    shape: &[usize], 
    content: &[u8]
) -> Result<Tensor, Error>
pub unsafe fn from_raw_dt_align(
    dt: DatumType, 
    shape: &[usize], 
    content: &[u8], 
    align: usize
) -> Result<Tensor, Error>
pub unsafe fn from_slice_align<T>(
    content: &[T], 
    align: usize
) -> Result<Tensor, Error> where
    T: Datum, 
pub unsafe fn set_shape_unchecked(&mut self, shape: &[usize])
pub unsafe fn set_shape_unchecked(&mut self, shape: &[usize])
Force the tensor shape, no consistency check.
pub fn permute_axes(self, axes: &[usize]) -> Result<Tensor, Error>
pub fn move_axis(self, from: usize, to: usize) -> Result<Tensor, Error>
pub fn collapse_axis_with_next(self, axis: usize) -> Tensor
pub fn split_axis(self, axis: usize, outer_dim: usize) -> Result<Tensor, Error>
pub fn insert_axis(&mut self, axis: usize) -> Result<(), Error>
pub fn remove_axis(&mut self, axis: usize) -> Result<(), Error>
pub fn broadcast_into_rank(self, rank: usize) -> Result<Tensor, Error>
pub fn broadcast_to_rank(&mut self, rank: usize) -> Result<(), Error>
pub fn broadcast_scalar_to_shape(
    &self, 
    shape: &[usize]
) -> Result<Tensor, Error>
pub fn assign_slice(
    &mut self, 
    range: impl RangeBounds<usize>, 
    src: &Tensor, 
    src_range: impl RangeBounds<usize>, 
    axis: usize
) -> Result<(), Error>
pub unsafe fn assign_slice_unchecked(
    &mut self, 
    range: impl RangeBounds<usize>, 
    src: &Tensor, 
    src_range: impl RangeBounds<usize>, 
    axis: usize
)
pub fn datum_type(&self) -> DatumType
pub fn datum_type(&self) -> DatumType
Get the datum type of the tensor.
pub unsafe fn set_datum_type(&mut self, dt: DatumType)
pub unsafe fn set_datum_type(&mut self, dt: DatumType)
Set the datum type of the tensor.
pub fn dump(&self, force_full: bool) -> Result<String, Error>
pub fn dump(&self, force_full: bool) -> Result<String, Error>
Dump the tensor in a human readable form.
force_full will force the tensor to be dump in full even if it is big.
pub fn close_enough(&self, other: &Tensor, approx: bool) -> Result<(), Error>
pub fn close_enough(&self, other: &Tensor, approx: bool) -> Result<(), Error>
Compare two tensors, allowing for rounding errors.
pub fn into_array<D>(
    self
) -> Result<ArrayBase<OwnedRepr<D>, Dim<IxDynImpl>>, Error> where
    D: Datum, 
pub fn into_array<D>(
    self
) -> Result<ArrayBase<OwnedRepr<D>, Dim<IxDynImpl>>, Error> where
    D: Datum, 
Transform the tensor into a ndarray::Array.
pub unsafe fn into_array_unchecked<D>(
    self
) -> ArrayBase<OwnedRepr<D>, Dim<IxDynImpl>> where
    D: Datum, 
pub unsafe fn into_array_unchecked<D>(
    self
) -> ArrayBase<OwnedRepr<D>, Dim<IxDynImpl>> where
    D: Datum, 
Transform the tensor into a ndarray::Array.
pub fn to_array_view<D>(
    &'a self
) -> Result<ArrayBase<ViewRepr<&'a D>, Dim<IxDynImpl>>, Error> where
    D: Datum, 
pub fn to_array_view<D>(
    &'a self
) -> Result<ArrayBase<ViewRepr<&'a D>, Dim<IxDynImpl>>, Error> where
    D: Datum, 
Transform the data as a ndarray::Array.
pub fn to_array_view_mut<D>(
    &'a mut self
) -> Result<ArrayBase<ViewRepr<&'a mut D>, Dim<IxDynImpl>>, Error> where
    D: Datum, 
pub fn to_array_view_mut<D>(
    &'a mut self
) -> Result<ArrayBase<ViewRepr<&'a mut D>, Dim<IxDynImpl>>, Error> where
    D: Datum, 
Transform the data as a mutable ndarray::Array.
pub unsafe fn to_array_view_unchecked<D>(
    &'a self
) -> ArrayBase<ViewRepr<&'a D>, Dim<IxDynImpl>> where
    D: Datum, 
pub unsafe fn to_array_view_unchecked<D>(
    &'a self
) -> ArrayBase<ViewRepr<&'a D>, Dim<IxDynImpl>> where
    D: Datum, 
Transform the data as a ndarray::Array.
pub unsafe fn to_array_view_mut_unchecked<D>(
    &'a mut self
) -> ArrayBase<ViewRepr<&'a mut D>, Dim<IxDynImpl>> where
    D: Datum, 
pub unsafe fn to_array_view_mut_unchecked<D>(
    &'a mut self
) -> ArrayBase<ViewRepr<&'a mut D>, Dim<IxDynImpl>> where
    D: Datum, 
Transform the data as a mutable ndarray::Array.
pub unsafe fn as_ptr_unchecked<D>(&self) -> *const D where
    D: Datum, 
pub unsafe fn as_ptr_unchecked<D>(&self) -> *const D where
    D: Datum, 
Access the data as a pointer.
pub unsafe fn as_ptr_mut_unchecked<D>(&mut self) -> *mut D where
    D: Datum, 
pub unsafe fn as_ptr_mut_unchecked<D>(&mut self) -> *mut D where
    D: Datum, 
Access the data as a pointer.
pub fn as_ptr_mut<D>(&mut self) -> Result<*mut D, Error> where
    D: Datum, 
pub fn as_ptr_mut<D>(&mut self) -> Result<*mut D, Error> where
    D: Datum, 
Access the data as a mutable pointer.
pub fn as_slice_mut<D>(&mut self) -> Result<&mut [D], Error> where
    D: Datum, 
pub fn as_slice_mut<D>(&mut self) -> Result<&mut [D], Error> where
    D: Datum, 
Access the data as a mutable slice.
pub unsafe fn as_slice_unchecked<D>(&self) -> &[D]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8] where
    D: Datum, 
pub unsafe fn as_slice_unchecked<D>(&self) -> &[D]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8] where
    D: Datum, 
Access the data as a slice.
pub unsafe fn as_slice_mut_unchecked<D>(&mut self) -> &mut [D]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8] where
    D: Datum, 
pub unsafe fn as_slice_mut_unchecked<D>(&mut self) -> &mut [D]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8] where
    D: Datum, 
Access the data as a mutable slice.
pub unsafe fn to_scalar_unchecked<D>(&'a self) -> &'a D where
    D: Datum, 
pub unsafe fn to_scalar_unchecked<D>(&'a self) -> &'a D where
    D: Datum, 
Access the data as a scalar.
pub fn to_scalar_mut<D>(&'a self) -> Result<&'a mut D, Error> where
    D: Datum, 
pub fn to_scalar_mut<D>(&'a self) -> Result<&'a mut D, Error> where
    D: Datum, 
Mutable access the data as a scalar.
pub unsafe fn to_scalar_mut_unchecked<D>(&'a self) -> &'a mut D where
    D: Datum, 
pub unsafe fn to_scalar_mut_unchecked<D>(&'a self) -> &'a mut D where
    D: Datum, 
Mutable access the data as a scalar.
pub unsafe fn as_bytes(&self) -> &[u8]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]ⓘNotable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
pub fn is_uniform(&self) -> bool
pub fn as_uniform(&self) -> Option<Tensor>
pub fn cast_to<D>(&self) -> Result<Cow<'_, Tensor>, Error> where
    D: Datum, 
pub fn cast_to<D>(&self) -> Result<Cow<'_, Tensor>, Error> where
    D: Datum, 
Optionnaly convert data to a tensor for a new DatumType.
pub fn cast_to_dt(&self, dst_dt: DatumType) -> Result<Cow<'_, Tensor>, Error>
pub fn cast_to_dt(&self, dst_dt: DatumType) -> Result<Cow<'_, Tensor>, Error>
Optionnaly convert data to a tensor for a new DatumType.
pub fn cast_to_scalar<D>(&self) -> Result<D, Error> where
    D: Datum + Copy, 
pub fn cast_to_scalar<D>(&self) -> Result<D, Error> where
    D: Datum + Copy, 
Access the data as a scalar, after a cast.
pub fn nth(&self, nth: usize) -> Result<Tensor, Error>
pub fn nth(&self, nth: usize) -> Result<Tensor, Error>
Access the nth element of the tensor, returned as a 0-rank Tensor
pub fn deep_clone(&self) -> Tensor
pub fn slice(
    &self, 
    axis: usize, 
    start: usize, 
    end: usize
) -> Result<Tensor, Error>
pub fn view(&self) -> TensorView<'_>
pub fn view_at_prefix(&self, prefix: &[usize]) -> Result<TensorView<'_>, Error>
pub fn view_mut(&mut self) -> TensorView<'_>
pub fn view_at_prefix_mut(
    &mut self, 
    prefix: &[usize]
) -> Result<TensorView<'_>, Error>
pub fn offset_u8_as_i8(self: &Arc<Tensor>) -> Arc<Tensor>
pub fn offset_u8_as_i8(self: &Arc<Tensor>) -> Arc<Tensor>
Offsets the tensor as an i8 type if it’s an u8 type, otherwise passes it unchanged.
Trait Implementations
impl From<Tensor> for AttrOrInput
impl From<Tensor> for AttrOrInput
fn from(t: Tensor) -> AttrOrInput
fn from(t: Tensor) -> AttrOrInput
Converts to this type from the input type.
impl From<Tensor> for QParamKind
impl From<Tensor> for QParamKind
fn from(t: Tensor) -> QParamKind
fn from(t: Tensor) -> QParamKind
Converts to this type from the input type.
impl IntoArcTensor for Tensor
impl IntoArcTensor for Tensor
fn into_arc_tensor(self) -> Arc<Tensor>
fn into_arc_tensor(self) -> Arc<Tensor>
Convert Self to a Arc
impl Send for Tensor
impl Sync for Tensor
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
    T: ?Sized, 
 
impl<T> BorrowMut<T> for T where
    T: ?Sized, 
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
    T: Any, 
 
impl<T> Downcast for T where
    T: Any, 
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
    W: Write + ?Sized, impl<R> Read for Box<R, Global> where
    R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
    I: Iterator + ?Sized,
    A: Allocator,     type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
    F: Future + Unpin + ?Sized,
    A: Allocator + 'static,     type Output = <F as Future>::Output;
 
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<W, Global>impl<W> Write for Box<W, Global> where
    W: Write + ?Sized, impl<R> Read for Box<R, Global> where
    R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
    I: Iterator + ?Sized,
    A: Allocator,     type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
    F: Future + Unpin + ?Sized,
    A: Allocator + 'static,     type Output = <F as Future>::Output;
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
 
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
 
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
 
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more