Publicado:
2025-06-25Número:
Vol. 19 Núm. 1 (2025)Sección:
Visión de Ingeniería AplicadaGitHub Extension for FlexiPrune: Automating Pruning Distribution in CNNs
Extensión en GitHub para FlexiPrune: automatización de la distribución de poda en CNNs
Palabras clave:
Convolutional Neural Network (CNN), FlexiPrune, Global Pruning Rate (GPR), Pruning, Pruning Distribution (PD), Pruning Rate (PR) (en).Palabras clave:
FlexiPrune, distribución de poda, poda, redes neuronales convolucionales, tasa de poda, tasa de poda global, poda (es).Descargas
Resumen (en)
FlexiPrune is a free library (available on GitHub) written in Python - PyTorch that allows to compress image classification models based on CNNs by pruning networks. It consists of three main modules: training, pruning and model evaluation. In the pruning module, users can select different pruning methods and pruning distribution types (e.g., homogeneous, bottomup, top-down, among others); however, users must manually enter the pruning rates (PRs) for each network layer, depending on the type of distribution they want to evaluate. Therefore, this project proposes a module written in Python compatible with FlexiPrune, which automatically calculates the PRs by layer based on a global pruning rate (GPR) and a pruning distribution (PD) type (e.g., PD1 - homogeneous, up to PD5 - top-up/top-down) for a specific network. In addition, users can know the FLOPs and parameter savings of the compressed model for the selected GPR and PD values, and thus choose the one that best suits their needs (e.g. best FLOPs vs. parameters pair, for the same GPR).
Resumen (es)
FlexiPrune es una librería gratuita (disponible en GitHub) escrita en Python - PyTorch que permite comprimir modelos de clasificación de imágenes basados en CNNs mediante la poda de redes. Consta de tres módulos principales: entrenamiento, poda y evaluación del modelo. En el módulo de poda, los usuarios pueden seleccionar diferentes métodos de poda y tipos de distribución de poda (por ejemplo, homogénea, ascendente, descendente, entre otros); sin embargo, los usuarios deben introducir manualmente las tasas de poda (PRs) para cada capa de la red, dependiendo del tipo de distribución que quieran evaluar. Por lo tanto, este proyecto propone un módulo escrito en Python compatible con FlexiPrune, que calcula automáticamente los PRs (porcentaje de poda) por capa, en función de una tasa de poda global (GPR) y un tipo de distribución de poda (PD) (por ejemplo, PD1 - homogénea, hasta PD5 -ascendente/descendente), para una red específica. Además, los usuarios pueden conocer el ahorro de FLOPs y de parámetros del modelo comprimido para los valores de GPR y PD seleccionados, y de esta forma escoger el que más se ajuste a sus necesidades (ej. mejor pareja FLOPs vs parámetros, para un mismo GPR).
Referencias
C.G. Pachon, J.O. Pinzon-Arenas, and D. Ballesteros, “FlexiPrune: A Pytorch tool for flexible CNN pruning policy selection”, Software X, September 2024, 101858. https://doi.org/10.1016/j.softx.2024.101858
C.G. Pachon, J.O. Pinzon-Arenas, and D. Ballesteros. “FlexiPrune”, 2024 [Online]. Disponible en: https://github.com/DEEP-CGPS/FlexiPrune/
H. Cheng, M. Zhang, M., J.Q. Shi, “A survey on deep neural network pruning: Taxonomy, comparison, analysis, and recommendations”, IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 10558 – 10578, 2024. https://doi.org/10.1109/TPAMI.2024.3447085
S. K. Yeom, P. Seegerer, S. Lapuschkin, A. Binder. “Pruning by explaining: A novel criterion for deep neural network pruning”, Pattern Recognition, 115, 107899, 2021. https://doi.org/10.1016/j.patcog.2021.107899
S. Frankle and M. Carbin, “The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks,” in Proc. of the International Conference on Learning Representations (ICLR), 2019. https://arxiv.org/abs/1803.03635
R. Li, X. Dai, Y. Chen, and D. Tao, “Random Pruning: Channel Pruning via Random Selection,” Pattern Recognition Letters, vol. 138, pp. 377–383, 2020. https://doi.org/10.1016/j.patrec.2020.09.025
S. Han, J. Pool, J. Tran, and W. J. Dally, “Learning both Weights and Connections for Efficient Neural Networks,” in Proc. of Advances in Neural Information Processing Systems (NeurIPS), 2015.
S. Vadera and S. Ameen, "Methods for Pruning Deep Neural Networks," IEEE Access, vol. 10, pp. 63280-63300, 2022. https://ieeexplore.ieee.org/document/9795013
Y. He, X. Zhang, and J. Sun, “Channel Pruning for Accelerating Very Deep Neural Networks,” in Proc. of ICCV, 2017, pp. 1389–1397. https://doi.org/10.1109/ICCV.2017.155
M. Molchanov, A. Mallya, D. Tyree, and M. Ashraf, “Importance Estimation for Neural Network Pruning,” in Proc. of CVPR, 2019, pp. 11264–11272. https://doi.org/10.1109/CVPR.2019.01152
C.G. Pachon, D. Ballesteros, and D. Renza, “Senpis: Sequential network pruning by class-wise importance score” Applied Soft Computing, 129, 109558, 2022. https://www.sciencedirect.com/science/article/pii/S1568494622006238
C.G. Pachon, J.O. Pinzon-Arenas, and D. Ballesteros, “Pruning Policy for Image Classification Problems Based on Deep Learning”. Informatics (Vol. 11, No. 3, p. 67), September 2024. https://www.mdpi.com/2227-9709/11/3/67
Z. Liu, M. Sun, T. Zhou, G. Huang, and T. Darrell, “Rethinking the Value of Network Pruning,” in Proceedings of the International Conference on Learning Representations (ICLR), 2019. https://arxiv.org/abs/1810.05270
T. Gale, E. Elsen, and S. Hooker, “The State of Sparsity in Deep Neural Networks,” arXiv preprint, arXiv:1902.09574, Feb. 2019. https://arxiv.org/abs/1902.09574
M. Mondal, S. Das, R. Sarkar, and P. Mitra,
“Adaptive CNN filter pruning using global importance metric,” Computer Vision and Image Understanding, vol. 222, 2022, Art. no. 103511. https://www.sciencedirect.com/science/article/pii/S1077314222001035
C. Yang and H. Liu, “Channel pruning based on convolutional neural network sensitivity,” Neurocomputing, vol. 507, pp. 97–106, 2022. https://www.sciencedirect.com/science/article/pii/S0925231222009110
S. Moon, Y. Byun, J. Park, S. Lee and Y. Lee, "Memory-Reduced Network Stacking for Edge-Level CNN Architecture with Structured Weight Pruning," IEEE Journal on Emerging and Selected Topics in Circuits and Systems, vol. 9, no. 4, pp. 735-746, Dec. 2019. https://ieeexplore.ieee.org/document/8894142
M. Mondal, et al. “Adaptive CNN filter pruning using global importance metric”. Comput. Vis. Image Underst. 2022, 222, 103511. https://www.sciencedirect.com/science/article/pii/S1077314222001035
C. Yang, H. Liu, “Channel pruning based on convolutional neural network sensitivity”, Neurocomputing 2022, 507, 97–106. https://www.sciencedirect.com/science/article/pii/S0925231222009110
Z. Chen, C. et al., “Latency-aware automated pruning with dynamic-based filter selection”, Neural Netw. 2022, 152, 407–418.
https://www.sciencedirect.com/science/article/pii/S0893608022001745
Cómo citar
APA
ACM
ACS
ABNT
Chicago
Harvard
IEEE
MLA
Turabian
Vancouver
Descargar cita
Visitas
Descargas
Licencia

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial 4.0.
.png)
atribución- no comercial 4.0 International




.jpg)





