Struct tract_core::plan::SimplePlan  
source · [−]pub struct SimplePlan<F, O, M>where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
    M: Borrow<Graph<F, O>> + Hash,{
    pub model: M,
    pub outputs: Vec<OutletId>,
    pub order: Vec<usize>,
    pub flush_lists: Vec<TVec<usize>>,
    pub has_unresolved_symbols: bool,
    /* private fields */
}Fields
model: Moutputs: Vec<OutletId>order: Vec<usize>flush_lists: Vec<TVec<usize>>has_unresolved_symbols: boolImplementations
sourceimpl<F, O, M> SimplePlan<F, O, M>where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
    M: Borrow<Graph<F, O>> + Hash,
 
impl<F, O, M> SimplePlan<F, O, M>where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
    M: Borrow<Graph<F, O>> + Hash,
sourcepub fn new(model: M) -> TractResult<SimplePlan<F, O, M>>
 
pub fn new(model: M) -> TractResult<SimplePlan<F, O, M>>
This contructor returns a plan that will compute all the model default outputs in one pass.
sourcepub fn new_for_output(
    model: M,
    output: OutletId
) -> TractResult<SimplePlan<F, O, M>>
 
pub fn new_for_output(
    model: M,
    output: OutletId
) -> TractResult<SimplePlan<F, O, M>>
This contructor returns a plan that will compute the specified output.
sourcepub fn new_for_outputs(
    model: M,
    outputs: &[OutletId]
) -> TractResult<SimplePlan<F, O, M>>
 
pub fn new_for_outputs(
    model: M,
    outputs: &[OutletId]
) -> TractResult<SimplePlan<F, O, M>>
This contructor returns a plan that will compute all specified outputs in one pass.
pub fn new_for_outputs_and_deps(
    model: M,
    outputs: &[OutletId],
    deps: &[(usize, usize)]
) -> TractResult<SimplePlan<F, O, M>>
pub fn run(&self, inputs: TVec<Tensor>) -> TractResult<TVec<Arc<Tensor>>>
pub fn model(&self) -> &Graph<F, O>
Trait Implementations
sourceimpl<F: Clone, O: Clone, M: Clone> Clone for SimplePlan<F, O, M>where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
    M: Borrow<Graph<F, O>> + Hash,
 
impl<F: Clone, O: Clone, M: Clone> Clone for SimplePlan<F, O, M>where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
    M: Borrow<Graph<F, O>> + Hash,
sourcefn clone(&self) -> SimplePlan<F, O, M>
 
fn clone(&self) -> SimplePlan<F, O, M>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moresourceimpl<F: Debug, O: Debug, M: Debug> Debug for SimplePlan<F, O, M>where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
    M: Borrow<Graph<F, O>> + Hash,
 
impl<F: Debug, O: Debug, M: Debug> Debug for SimplePlan<F, O, M>where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
    M: Borrow<Graph<F, O>> + Hash,
Auto Trait Implementations
impl<F, O, M> RefUnwindSafe for SimplePlan<F, O, M>where
    F: RefUnwindSafe,
    M: RefUnwindSafe,
    O: RefUnwindSafe,
impl<F, O, M> Send for SimplePlan<F, O, M>where
    M: Send,
    O: Send,
impl<F, O, M> Sync for SimplePlan<F, O, M>where
    M: Sync,
    O: Sync,
impl<F, O, M> Unpin for SimplePlan<F, O, M>where
    F: Unpin,
    M: Unpin,
    O: Unpin,
impl<F, O, M> UnwindSafe for SimplePlan<F, O, M>where
    F: UnwindSafe,
    M: UnwindSafe,
    O: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    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 Twhere
    T: Any,
 
impl<T> Downcast for Twhere
    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 moresourcefn 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 moresourcefn 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 moresourcefn 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