One Shot vs. Iterative: Rethinking Pruning Strategies for Model Compression

Mikołaj Janusz, Tomasz Wojnar, Yawei Li, Luca Benini, Kamil Adamczewski
8/19/2025
cs.LGcs.AI

Official code: janumiko/pruning-benchmark (2 stars, MIT, PyTorch, last commit 2025-06-06).

Abstract

Pruning is a core technique for compressing neural networks to improve computational efficiency. This process is typically approached in two ways: one-shot pruning, which involves a single pass of training and pruning, and iterative pruning, where pruning is performed over multiple cycles for potentially finer network refinement. Although iterative pruning has historically seen broader adoption, this preference is often assumed rather than rigorously tested. Our study presents one of the first systematic and comprehensive comparisons of these methods, providing rigorous definitions, benchmarking both across structured and unstructured settings, and applying different pruning criteria and modalities. We find that each method has specific advantages: one-shot pruning proves more effective at lower pruning ratios, while iterative pruning performs better at higher ratios. Building on these findings, we advocate for patience-based pruning and introduce a hybrid approach that can outperform traditional methods in certain scenarios, providing valuable insights for practitioners selecting a pruning strategy tailored to their goals and constraints. Source code is available at https://github.com/janumiko/pruning-benchmark.

View on arXivView PDF

Code Implementations(1)

PyTorchMIT

Architecture for pruning methods analysis using pytorch prune module

20PythonNov 20, 20231 years agoMIT
deep-learningmachine-learningprunepruningpytorch+3 more

Similar Papers

Cite this paper

@article{janusz2025shot,
  title  = {One Shot vs. Iterative: Rethinking Pruning Strategies for Model Compression},
  author = {Mikołaj Janusz and Tomasz Wojnar and Yawei Li and Luca Benini and Kamil Adamczewski},
  year   = {2025},
  eprint = {2508.13836},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2508.13836v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2508.13836.svg)](https://codeofpaper.com/paper/2508.13836)

Discussion