{"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/gate-decorator-global-filter-pruning-method","title":"Gate Decorator: Global Filter Pruning Method for Accelerating Deep Convolutional Neural Networks","arxiv_id":"1909.08174","date":"2019-09-18","proceeding":"NeurIPS 2019 12","authors":["Zhonghui You","Kun Yan","Jinmian Ye","Meng Ma","Ping Wang"],"abstract":"Filter pruning is one of the most effective ways to accelerate and compress convolutional neural networks (CNNs). In this work, we propose a global filter pruning algorithm called Gate Decorator, which transforms a vanilla CNN module by multiplying its output by the channel-wise scaling factors, i.e. gate. When the scaling factor is set to zero, it is equivalent to removing the corresponding filter. We use Taylor expansion to estimate the change in the loss function caused by setting the scaling factor to zero and use the estimation for the global filter importance ranking. Then we prune the network by removing those unimportant filters. After pruning, we merge all the scaling factors into its original module, so no special operations or structures are introduced. Moreover, we propose an iterative pruning framework called Tick-Tock to improve pruning accuracy. The extensive experiments demonstrate the effectiveness of our approaches. For example, we achieve the state-of-the-art pruning ratio on ResNet-56 by reducing 70% FLOPs without noticeable loss in accuracy. For ResNet-50 on ImageNet, our pruned model with 40% FLOPs reduction outperforms the baseline model by 0.31% in top-1 accuracy. Various datasets are used, including CIFAR-10, CIFAR-100, CUB-200, ImageNet ILSVRC-12 and PASCAL VOC 2011. Code is available at github.com/youzhonghui/gate-decorator-pruning","url_abs":"https://arxiv.org/abs/1909.08174v1","url_pdf":"https://arxiv.org/pdf/1909.08174v1.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":"gate-decorator-global-filter-pruning-method","repo_url":"https://github.com/youzhonghui/gate-decorator-pruning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"gate-decorator-global-filter-pruning-method","repo_url":"https://github.com/softsys4ai/neural-distiller","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"pruning","method_name":"Pruning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1909.08174","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1909.08174"}},"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/softsys4ai/neural-distiller","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/youzhonghui/gate-decorator-pruning","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_honours":1,"unverified":17},"by_repo_kind":{"official":{"samples":5,"ran":0,"repositories":1},"listed":{"samples":13,"ran":1,"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":0,"samples":[{"code_sha256_prefix":"67e18e3fdd805d03","entry":"lr_schedule","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/models/generate_resnet.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/models/generate_resnet.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"67e18e3fdd805d03"}},{"code_sha256_prefix":"fa79dbf3466aa49e","entry":"bound_policy","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/ternary_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/ternary_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fa79dbf3466aa49e"}},{"code_sha256_prefix":"43ad5039f7bea39a","entry":"create_meta","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/multistage_knowledge_distillation_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/multistage_knowledge_distillation_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"43ad5039f7bea39a"}},{"code_sha256_prefix":"b054430125f1402e","entry":"create_result","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/multistage_knowledge_distillation_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/multistage_knowledge_distillation_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b054430125f1402e"}},{"code_sha256_prefix":"443447da85da3fcc","entry":"finetune","repo":"youzhonghui/gate-decorator-pruning","repo_kind":"official","path":"prune/utils.py","file_url":"https://github.com/youzhonghui/gate-decorator-pruning/blob/HEAD/prune/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"443447da85da3fcc"}},{"code_sha256_prefix":"4f18686562b60d83","entry":"get_gate_sparse_loss","repo":"youzhonghui/gate-decorator-pruning","repo_kind":"official","path":"prune/universal.py","file_url":"https://github.com/youzhonghui/gate-decorator-pruning/blob/HEAD/prune/universal.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4f18686562b60d83"}},{"code_sha256_prefix":"8fa48caebcb5f044","entry":"import_config","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/multistage_knowledge_distillation_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/multistage_knowledge_distillation_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8fa48caebcb5f044"}},{"code_sha256_prefix":"025a0fa4b9bd03c4","entry":"resnet20","repo":"youzhonghui/gate-decorator-pruning","repo_kind":"official","path":"models/cifar/resnet56.py","file_url":"https://github.com/youzhonghui/gate-decorator-pruning/blob/HEAD/models/cifar/resnet56.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"025a0fa4b9bd03c4"}},{"code_sha256_prefix":"aee5de704735856b","entry":"resnet32","repo":"youzhonghui/gate-decorator-pruning","repo_kind":"official","path":"models/cifar/resnet56.py","file_url":"https://github.com/youzhonghui/gate-decorator-pruning/blob/HEAD/models/cifar/resnet56.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aee5de704735856b"}},{"code_sha256_prefix":"5cdc625b5824a25a","entry":"resnet44","repo":"youzhonghui/gate-decorator-pruning","repo_kind":"official","path":"models/cifar/resnet56.py","file_url":"https://github.com/youzhonghui/gate-decorator-pruning/blob/HEAD/models/cifar/resnet56.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5cdc625b5824a25a"}},{"code_sha256_prefix":"d016fd58a1a0d7e8","entry":"save_model","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/eskd_knowledge_distillation_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/eskd_knowledge_distillation_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d016fd58a1a0d7e8"}},{"code_sha256_prefix":"1ff169b5b9d1cd91","entry":"save_model","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/eskd_teacher_train_and_collect_logits.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/eskd_teacher_train_and_collect_logits.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ff169b5b9d1cd91"}},{"code_sha256_prefix":"72fd99b24d34b031","entry":"save_weights","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/eskd_baseline_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/eskd_baseline_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"72fd99b24d34b031"}},{"code_sha256_prefix":"5751220b37e6b368","entry":"save_weights","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/eskd_knowledge_distillation_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/eskd_knowledge_distillation_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5751220b37e6b368"}},{"code_sha256_prefix":"3a54923ed094ac96","entry":"save_weights","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/eskd_teacher_train_and_collect_logits.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/eskd_teacher_train_and_collect_logits.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3a54923ed094ac96"}},{"code_sha256_prefix":"3c6c1687bc93411d","entry":"step_decay","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/eskd_baseline_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/eskd_baseline_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3c6c1687bc93411d"}},{"code_sha256_prefix":"39a9b931bf412ce2","entry":"step_decay","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/eskd_teacher_train_and_collect_logits.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/eskd_teacher_train_and_collect_logits.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"39a9b931bf412ce2"}},{"code_sha256_prefix":"b822412a30b86c96","entry":"ternarize","repo":"softsys4ai/neural-distiller","repo_kind":"listed","path":"src/experiments/ternary_train.py","file_url":"https://github.com/softsys4ai/neural-distiller/blob/HEAD/src/experiments/ternary_train.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b822412a30b86c96"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}