pub fn eval_order<F, O>(model: &super::Graph<F, O>) -> TractResult<Vec<usize>>
where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
{
    let inputs = model.input_outlets()?.iter().map(|n| n.node).collect::<Vec<usize>>();
    let targets = model.output_outlets()?.iter().map(|n| n.node).collect::<Vec<usize>>();
    eval_order_for_nodes(model.nodes(), &inputs, &targets, &[])
}
/// Find an evaluation order for a model, using its default inputs and outputs
/// as boundaries.
Find an evaluation order for a model, using its default inputs and outputs
as boundaries.
Find an evaluation order for a model using its default inputs and outputs as boundaries .
pub fn eval_order<F, O>(model: &super::Graph<F, O>) -> TractResult<Vec<usize>>
where
    F: Fact + Hash + Clone + 'static,
    O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static + Hash,
{
    let inputs = model.input_outlets()?.iter().map(|n| n.node).collect::<Vec<usize>>();
    let targets = model.output_outlets()?.iter().map(|n| n.node).collect::<Vec<usize>>();
    eval_order_for_nodes(model.nodes(), &inputs, &targets, &[])
}
pub fn eval_order < F , O > ( model : & super :: Graph < F , O > ) -> TractResult < Vec < usize > > where F : Fact + Hash + Clone + ' static , O : Debug + Display + AsRef < dyn Op > + AsMut < dyn Op > + Clone + ' static + Hash , { let inputs = model . input_outlets ( ) ? . iter ( ) . map ( | n | n . node ) . collect :: < Vec < usize > > ( ) ; let targets = model . output_outlets ( ) ? . iter ( ) . map ( | n | n . node ) . collect :: < Vec < usize > > ( ) ; eval_order_for_nodes ( model . nodes ( ) , & inputs , & targets , & [ ] ) }
Find an evaluation order for a model, using its default inputs and outputs
as boundaries.
Find an evaluation order for a model using its default inputs and outputs as boundaries .
model
&super::Graph<F, O>
model
&super::Graph<F, O>