Skip to main content

Pruner

Trait Pruner 

Source
pub trait Pruner: Send + Sync {
    // Required methods
    fn generate_mask(
        &self,
        scores: &ImportanceScores,
        target_sparsity: f32,
        pattern: SparsityPattern,
    ) -> Result<SparsityMask, PruningError>;
    fn apply_mask(
        &self,
        module: &mut dyn Module,
        mask: &SparsityMask,
    ) -> Result<PruningResult, PruningError>;
    fn importance(&self) -> &dyn Importance;
    fn name(&self) -> &'static str;
}
Expand description

High-level pruning interface.

§Toyota Way: Genchi Genbutsu

Pruners must operate on actual model weights, not abstractions.

§Object Safety

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

Required Methods§

Source

fn generate_mask( &self, scores: &ImportanceScores, target_sparsity: f32, pattern: SparsityPattern, ) -> Result<SparsityMask, PruningError>

Generate a sparsity mask based on importance scores.

§Arguments
  • scores - Pre-computed importance scores
  • target_sparsity - Desired fraction of weights to prune (0.0 to 1.0)
  • pattern - Sparsity pattern constraint (unstructured, N:M, block)
§Returns
  • Ok(SparsityMask) - Generated mask
  • Err(PruningError) - If mask generation fails
Source

fn apply_mask( &self, module: &mut dyn Module, mask: &SparsityMask, ) -> Result<PruningResult, PruningError>

Apply a sparsity mask to a module, zeroing pruned weights.

§Arguments
  • module - The module to prune (modified in-place)
  • mask - The sparsity mask to apply
§Returns
  • Ok(PruningResult) - Statistics about the pruning operation
  • Err(PruningError) - If mask application fails
§Safety

This operation modifies weights in-place. The mask must match the module’s parameter shapes exactly.

Source

fn importance(&self) -> &dyn Importance

Get the importance estimator used by this pruner.

Source

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

Name of this pruner for logging.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§