pub fn codegen(self) -> TractResult<TypedModel> {
        let mut model = self;
        loop {
            let mut done_something = false;
            for p in crate::optim::codegen() {
                done_something = done_something || p.pass(&mut model)?;
                if cfg!(debug_assertions) {
                    model.check_edges()?;
                }
            }
            if !done_something {
                break;
            }
            model = compact::compact(&model)?;
        }
        Ok(model)
    }
/// Translate the graph to optimized operators.
Translate the graph to optimized operators.
Translate the graph to optimized operators .
pub fn codegen(self) -> TractResult<TypedModel> {
        let mut model = self;
        loop {
            let mut done_something = false;
            for p in crate::optim::codegen() {
                done_something = done_something || p.pass(&mut model)?;
                if cfg!(debug_assertions) {
                    model.check_edges()?;
                }
            }
            if !done_something {
                break;
            }
            model = compact::compact(&model)?;
        }
        Ok(model)
    }
pub fn codegen ( self ) -> TractResult < TypedModel > { let mut model = self ; loop { let mut done_something = false ; for p in crate :: optim :: codegen ( ) { done_something = done_something || p . pass ( & mut model ) ? ; if cfg ! ( debug_assertions ) { model . check_edges ( ) ? ; } } if ! done_something { break ; } model = compact :: compact ( & model ) ? ; } Ok ( model ) }
Translate the graph to optimized operators.
Translate the graph to optimized operators .
self