Cesar G. Pachon , Javier O. Pinzon-Arenas , Dora Ballesteros
{"title":"FlexiPrune:用于灵活选择 CNN 修剪策略的 Pytorch 工具","authors":"Cesar G. Pachon , Javier O. Pinzon-Arenas , Dora Ballesteros","doi":"10.1016/j.softx.2024.101858","DOIUrl":null,"url":null,"abstract":"<div><p>The application of pruning techniques to convolutional neural networks has made it possible to reduce the size of the model and the time required for inference. However, determining the best pruning policy, i.e. the pair of pruning method and pruning distribution that allows obtaining the highest accuracy or F1 score of the pruned model, is not a task that can be easily performed with the available tools. For this, we propose a library called FlexiPrune, written in Python language and using the Pytorch framework, which allows the user to select an unpruned model and choose the pruning policy from a set of available options. FlexiPrune makes it very easy to compare the impact of different pruning methods and pruning distributions, so that decision making is based on the performance of the pruned model for the specific GPR (Global Pruning Rate) value and classification problem, rather than simply following generic pruning policy recommendations.</p></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"27 ","pages":"Article 101858"},"PeriodicalIF":2.4000,"publicationDate":"2024-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352711024002280/pdfft?md5=8518b4cae1b12b91be06c0c0833a140a&pid=1-s2.0-S2352711024002280-main.pdf","citationCount":"0","resultStr":"{\"title\":\"FlexiPrune: A Pytorch tool for flexible CNN pruning policy selection\",\"authors\":\"Cesar G. Pachon , Javier O. Pinzon-Arenas , Dora Ballesteros\",\"doi\":\"10.1016/j.softx.2024.101858\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>The application of pruning techniques to convolutional neural networks has made it possible to reduce the size of the model and the time required for inference. However, determining the best pruning policy, i.e. the pair of pruning method and pruning distribution that allows obtaining the highest accuracy or F1 score of the pruned model, is not a task that can be easily performed with the available tools. For this, we propose a library called FlexiPrune, written in Python language and using the Pytorch framework, which allows the user to select an unpruned model and choose the pruning policy from a set of available options. FlexiPrune makes it very easy to compare the impact of different pruning methods and pruning distributions, so that decision making is based on the performance of the pruned model for the specific GPR (Global Pruning Rate) value and classification problem, rather than simply following generic pruning policy recommendations.</p></div>\",\"PeriodicalId\":21905,\"journal\":{\"name\":\"SoftwareX\",\"volume\":\"27 \",\"pages\":\"Article 101858\"},\"PeriodicalIF\":2.4000,\"publicationDate\":\"2024-08-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://www.sciencedirect.com/science/article/pii/S2352711024002280/pdfft?md5=8518b4cae1b12b91be06c0c0833a140a&pid=1-s2.0-S2352711024002280-main.pdf\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"SoftwareX\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S2352711024002280\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"SoftwareX","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2352711024002280","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
FlexiPrune: A Pytorch tool for flexible CNN pruning policy selection
The application of pruning techniques to convolutional neural networks has made it possible to reduce the size of the model and the time required for inference. However, determining the best pruning policy, i.e. the pair of pruning method and pruning distribution that allows obtaining the highest accuracy or F1 score of the pruned model, is not a task that can be easily performed with the available tools. For this, we propose a library called FlexiPrune, written in Python language and using the Pytorch framework, which allows the user to select an unpruned model and choose the pruning policy from a set of available options. FlexiPrune makes it very easy to compare the impact of different pruning methods and pruning distributions, so that decision making is based on the performance of the pruned model for the specific GPR (Global Pruning Rate) value and classification problem, rather than simply following generic pruning policy recommendations.
期刊介绍:
SoftwareX aims to acknowledge the impact of software on today''s research practice, and on new scientific discoveries in almost all research domains. SoftwareX also aims to stress the importance of the software developers who are, in part, responsible for this impact. To this end, SoftwareX aims to support publication of research software in such a way that: The software is given a stamp of scientific relevance, and provided with a peer-reviewed recognition of scientific impact; The software developers are given the credits they deserve; The software is citable, allowing traditional metrics of scientific excellence to apply; The academic career paths of software developers are supported rather than hindered; The software is publicly available for inspection, validation, and re-use. Above all, SoftwareX aims to inform researchers about software applications, tools and libraries with a (proven) potential to impact the process of scientific discovery in various domains. The journal is multidisciplinary and accepts submissions from within and across subject domains such as those represented within the broad thematic areas below: Mathematical and Physical Sciences; Environmental Sciences; Medical and Biological Sciences; Humanities, Arts and Social Sciences. Originating from these broad thematic areas, the journal also welcomes submissions of software that works in cross cutting thematic areas, such as citizen science, cybersecurity, digital economy, energy, global resource stewardship, health and wellbeing, etcetera. SoftwareX specifically aims to accept submissions representing domain-independent software that may impact more than one research domain.