Skip to main content

Importance

Trait Importance 

Source
pub trait Importance: Send + Sync {
    // Required methods
    fn compute(
        &self,
        module: &dyn Module,
        context: Option<&CalibrationContext>,
    ) -> Result<ImportanceScores, PruningError>;
    fn name(&self) -> &'static str;
    fn requires_calibration(&self) -> bool;
}
Expand description

Core trait for importance estimation algorithms.

§Toyota Way: Jidoka

All implementations must validate numerical stability. NaN or Inf values trigger immediate failure (Andon cord).

§Object Safety

This trait is object-safe and can be used with dyn Importance.

Required Methods§

Source

fn compute( &self, module: &dyn Module, context: Option<&CalibrationContext>, ) -> Result<ImportanceScores, PruningError>

Compute importance scores for a module’s parameters.

§Arguments
  • module - Neural network module to analyze
  • context - Optional calibration context with activation stats
§Returns
  • Ok(ImportanceScores) - Computed importance values
  • Err(PruningError) - If computation fails or numerical issues detected
Source

fn name(&self) -> &'static str

Name of this importance method.

Used for logging and error messages.

Source

fn requires_calibration(&self) -> bool

Whether this method requires calibration data.

Methods like Wanda require activation statistics from calibration.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§