{"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/snip-single-shot-network-pruning-based-on","title":"SNIP: Single-shot Network Pruning based on Connection Sensitivity","arxiv_id":"1810.02340","date":"2018-10-04","proceeding":"ICLR 2019 5","authors":["Namhoon Lee","Thalaiyasingam Ajanthan","Philip H. S. Torr"],"abstract":"Pruning large neural networks while maintaining their performance is often\ndesirable due to the reduced space and time complexity. In existing methods,\npruning is done within an iterative optimization procedure with either\nheuristically designed pruning schedules or additional hyperparameters,\nundermining their utility. In this work, we present a new approach that prunes\na given network once at initialization prior to training. To achieve this, we\nintroduce a saliency criterion based on connection sensitivity that identifies\nstructurally important connections in the network for the given task. This\neliminates the need for both pretraining and the complex pruning schedule while\nmaking it robust to architecture variations. After pruning, the sparse network\nis trained in the standard way. Our method obtains extremely sparse networks\nwith virtually the same accuracy as the reference network on the MNIST,\nCIFAR-10, and Tiny-ImageNet classification tasks and is broadly applicable to\nvarious architectures including convolutional, residual and recurrent networks.\nUnlike existing methods, our approach enables us to demonstrate that the\nretained connections are indeed relevant to the given task.","url_abs":"http://arxiv.org/abs/1810.02340v2","url_pdf":"http://arxiv.org/pdf/1810.02340v2.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":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/namhoonlee/snip-public","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/Hoonyyhoon/Comparison-of-Synflow_SNIP_GraSP","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/JingtongSu/sanity-checking-pruning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/google-research/rigl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/jeong-tae/SNIP-filter-level-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/junhyukso/SNIP-tf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/mi-lad/snip","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"snip-single-shot-network-pruning-based-on","repo_url":"https://github.com/ganguli-lab/Synaptic-Flow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"network-pruning","task_name":"Network Pruning"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"sensitivity","task_name":"Sensitivity"}],"methods":[{"method_slug":"pruning","method_name":"Pruning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1810.02340","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1810.02340"}},"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/ganguli-lab/Synaptic-Flow","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JingtongSu/sanity-checking-pruning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/rigl","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/namhoonlee/snip-public","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/junhyukso/SNIP-tf","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mi-lad/snip","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jeong-tae/SNIP-filter-level-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Hoonyyhoon/Comparison-of-Synflow_SNIP_GraSP","reach":null}],"summary":{"ran":1,"ran_draft_wrong":4,"unverified":7},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1},"listed":{"samples":11,"ran":5,"repositories":5}},"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":7,"samples":[{"code_sha256_prefix":"5a26d6d67aa62743","entry":"SNIP","repo":"Hoonyyhoon/Comparison-of-Synflow_SNIP_GraSP","repo_kind":"listed","path":"pruning_method/SNIP.py","file_url":"https://github.com/Hoonyyhoon/Comparison-of-Synflow_SNIP_GraSP/blob/HEAD/pruning_method/SNIP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5a26d6d67aa62743"}},{"code_sha256_prefix":"33999af856630256","entry":"is_same_tensor","repo":"jeong-tae/SNIP-filter-level-pytorch","repo_kind":"listed","path":"models/snip.py","file_url":"https://github.com/jeong-tae/SNIP-filter-level-pytorch/blob/HEAD/models/snip.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"33999af856630256"}},{"code_sha256_prefix":"fa39074a9a0ab455","entry":"make_prune_callback","repo":"junhyukso/SNIP-tf","repo_kind":"listed","path":"SNIPtf/prune.py","file_url":"https://github.com/junhyukso/SNIP-tf/blob/HEAD/SNIPtf/prune.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fa39074a9a0ab455"}},{"code_sha256_prefix":"12d59cf9ada8b41a","entry":"snip_forward_conv2d","repo":"jeong-tae/SNIP-filter-level-pytorch","repo_kind":"listed","path":"models/snip.py","file_url":"https://github.com/jeong-tae/SNIP-filter-level-pytorch/blob/HEAD/models/snip.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"12d59cf9ada8b41a"}},{"code_sha256_prefix":"94eeaaa88bd57941","entry":"snip_forward_linear","repo":"jeong-tae/SNIP-filter-level-pytorch","repo_kind":"listed","path":"models/snip.py","file_url":"https://github.com/jeong-tae/SNIP-filter-level-pytorch/blob/HEAD/models/snip.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"94eeaaa88bd57941"}},{"code_sha256_prefix":"bf17eee67cefa70a","entry":"Prune_Callback","repo":"junhyukso/SNIP-tf","repo_kind":"listed","path":"SNIPtf/prune.py","file_url":"https://github.com/junhyukso/SNIP-tf/blob/HEAD/SNIPtf/prune.py","link_basis":"first_harvest_node","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":"bf17eee67cefa70a"}},{"code_sha256_prefix":"ad3f82eac9b98587","entry":"SNIP","repo":"JingtongSu/sanity-checking-pruning","repo_kind":"listed","path":"pruner/SNIP.py","file_url":"https://github.com/JingtongSu/sanity-checking-pruning/blob/HEAD/pruner/SNIP.py","link_basis":"first_harvest_node","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":"ad3f82eac9b98587"}},{"code_sha256_prefix":"34c6cbbc302db073","entry":"SNIP","repo":"jeong-tae/SNIP-filter-level-pytorch","repo_kind":"listed","path":"models/snip.py","file_url":"https://github.com/jeong-tae/SNIP-filter-level-pytorch/blob/HEAD/models/snip.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"34c6cbbc302db073"}},{"code_sha256_prefix":"c151af1e8de0959e","entry":"SNIP","repo":"ganguli-lab/Synaptic-Flow","repo_kind":"listed","path":"Pruners/pruners.py","file_url":"https://github.com/ganguli-lab/Synaptic-Flow/blob/HEAD/Pruners/pruners.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c151af1e8de0959e"}},{"code_sha256_prefix":"f0ba2ece3e08248b","entry":"SNIP_fetch_data","repo":"JingtongSu/sanity-checking-pruning","repo_kind":"listed","path":"pruner/SNIP.py","file_url":"https://github.com/JingtongSu/sanity-checking-pruning/blob/HEAD/pruner/SNIP.py","link_basis":"first_harvest_node","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":"f0ba2ece3e08248b"}},{"code_sha256_prefix":"a79ba7432308de9a","entry":"_remove_sequential","repo":"jeong-tae/SNIP-filter-level-pytorch","repo_kind":"listed","path":"models/snip.py","file_url":"https://github.com/jeong-tae/SNIP-filter-level-pytorch/blob/HEAD/models/snip.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a79ba7432308de9a"}},{"code_sha256_prefix":"1bdb1c27633e3a80","entry":"prune","repo":"namhoonlee/snip-public","repo_kind":"official","path":"snip/prune.py","file_url":"https://github.com/namhoonlee/snip-public/blob/HEAD/snip/prune.py","link_basis":"first_harvest_node","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":"1bdb1c27633e3a80"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}