{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/channel-pruning-for-accelerating-very-deep","title":"Channel Pruning for Accelerating Very Deep Neural Networks","arxiv_id":"1707.06168","date":"2017-07-19","proceeding":"ICCV 2017 10","authors":["Yihui He","Xiangyu Zhang","Jian Sun"],"abstract":"In this paper, we introduce a new channel pruning method to accelerate very\ndeep convolutional neural networks.Given a trained CNN model, we propose an\niterative two-step algorithm to effectively prune each layer, by a LASSO\nregression based channel selection and least square reconstruction. We further\ngeneralize this algorithm to multi-layer and multi-branch cases. Our method\nreduces the accumulated error and enhance the compatibility with various\narchitectures. Our pruned VGG-16 achieves the state-of-the-art results by 5x\nspeed-up along with only 0.3% increase of error. More importantly, our method\nis able to accelerate modern networks like ResNet, Xception and suffers only\n1.4%, 1.0% accuracy loss under 2x speed-up respectively, which is significant.\nCode has been made publicly available.","url_abs":"http://arxiv.org/abs/1707.06168v2","url_pdf":"http://arxiv.org/pdf/1707.06168v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"channel-pruning-for-accelerating-very-deep","repo_url":"https://github.com/yihui-he/channel-pruning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"channel-selection","task_name":"channel selection"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"depthwise-separable-convolution","method_name":"Depthwise Separable Convolution"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"pointwise-convolution","method_name":"Pointwise Convolution"},{"method_slug":"pruning","method_name":"Pruning"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1707.06168","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}