{"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/network-trimming-a-data-driven-neuron-pruning","title":"Network Trimming: A Data-Driven Neuron Pruning Approach towards Efficient Deep Architectures","arxiv_id":"1607.03250","date":"2016-07-12","proceeding":null,"authors":["Hengyuan Hu","Rui Peng","Yu-Wing Tai","Chi-Keung Tang"],"abstract":"State-of-the-art neural networks are getting deeper and wider. While their\nperformance increases with the increasing number of layers and neurons, it is\ncrucial to design an efficient deep architecture in order to reduce\ncomputational and memory costs. Designing an efficient neural network, however,\nis labor intensive requiring many experiments, and fine-tunings. In this paper,\nwe introduce network trimming which iteratively optimizes the network by\npruning unimportant neurons based on analysis of their outputs on a large\ndataset. Our algorithm is inspired by an observation that the outputs of a\nsignificant portion of neurons in a large network are mostly zero, regardless\nof what inputs the network received. These zero activation neurons are\nredundant, and can be removed without affecting the overall accuracy of the\nnetwork. After pruning the zero activation neurons, we retrain the network\nusing the weights before pruning as initialization. We alternate the pruning\nand retraining to further reduce zero activations in a network. Our experiments\non the LeNet and VGG-16 show that we can achieve high compression ratio of\nparameters without losing or even achieving higher accuracy than the original\nnetwork.","url_abs":"http://arxiv.org/abs/1607.03250v1","url_pdf":"http://arxiv.org/pdf/1607.03250v1.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":"network-trimming-a-data-driven-neuron-pruning","repo_url":"https://github.com/BenWhetton/keras-surgeon","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"network-trimming-a-data-driven-neuron-pruning","repo_url":"https://github.com/arturjordao/PruningNeuralNetworks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"network-trimming-a-data-driven-neuron-pruning","repo_url":"https://github.com/jjeamin/Network_Trimming_Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"network-trimming-a-data-driven-neuron-pruning","repo_url":"https://github.com/marcoancona/TorchPruner","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"network-trimming-a-data-driven-neuron-pruning","repo_url":"https://github.com/2023-MindSpore-4/Code-5/tree/main/lenet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"network-trimming-a-data-driven-neuron-pruning","repo_url":"https://github.com/Mind23-2/MindCode-24","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok"}},{"paper_slug":"network-trimming-a-data-driven-neuron-pruning","repo_url":"https://github.com/Mind23-2/MindCode-3/tree/main/lenet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"efficient-neural-network","task_name":"Efficient Neural Network"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"lenet","method_name":"LeNet"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1607.03250","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1607.03250"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Mind23-2/MindCode-24","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/2023-MindSpore-4/Code-5/tree/main/lenet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/arturjordao/PruningNeuralNetworks","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Mind23-2/MindCode-3/tree/main/lenet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/marcoancona/TorchPruner","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jjeamin/Network_Trimming_Pytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BenWhetton/keras-surgeon","reach":null}],"summary":{"ran_honours":1,"ran_draft_wrong":1},"by_repo_kind":{"listed":{"samples":2,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"595c4e962c762971","entry":"get_total_channels","repo":"BenWhetton/keras-surgeon","repo_kind":"listed","path":"src/kerassurgeon/examples/inception_flowers_prune.py","file_url":"https://github.com/BenWhetton/keras-surgeon/blob/HEAD/src/kerassurgeon/examples/inception_flowers_prune.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"595c4e962c762971"}},{"code_sha256_prefix":"b678e77541a85834","entry":"to_onehot","repo":"BenWhetton/keras-surgeon","repo_kind":"listed","path":"src/kerassurgeon/examples/lenet_mnist.py","file_url":"https://github.com/BenWhetton/keras-surgeon/blob/HEAD/src/kerassurgeon/examples/lenet_mnist.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b678e77541a85834"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}