{"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/layermerge-neural-network-depth-compression","title":"LayerMerge: Neural Network Depth Compression through Layer Pruning and Merging","arxiv_id":"2406.12837","date":"2024-06-18","proceeding":null,"authors":["Jinuk Kim","Marwa El Halabi","Mingi Ji","Hyun Oh Song"],"abstract":"Recent works show that reducing the number of layers in a convolutional neural network can enhance efficiency while maintaining the performance of the network. Existing depth compression methods remove redundant non-linear activation functions and merge the consecutive convolution layers into a single layer. However, these methods suffer from a critical drawback; the kernel size of the merged layers becomes larger, significantly undermining the latency reduction gained from reducing the depth of the network. We show that this problem can be addressed by jointly pruning convolution layers and activation functions. To this end, we propose LayerMerge, a novel depth compression method that selects which activation layers and convolution layers to remove, to achieve a desired inference speed-up while minimizing performance loss. Since the corresponding selection problem involves an exponential search space, we formulate a novel surrogate optimization problem and efficiently solve it via dynamic programming. Empirical results demonstrate that our method consistently outperforms existing depth compression and layer pruning methods on various network architectures, both on image classification and generation tasks. We release the code at https://github.com/snu-mllab/LayerMerge.","url_abs":"https://arxiv.org/abs/2406.12837v3","url_pdf":"https://arxiv.org/pdf/2406.12837v3.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":"layermerge-neural-network-depth-compression","repo_url":"https://github.com/snu-mllab/layermerge","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"pruning","method_name":"Pruning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.12837","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.12837"}},"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":"deterministic:regex_extraction","url":"https://github.com/snu-mllab/LayerMerge","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/snu-mllab/layermerge","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"ran_draft_wrong":7,"ran_fixture":1,"ran_honours":2,"unverified":6},"by_repo_kind":{"official":{"samples":23,"ran":17,"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":"9230e14bc7473f01","entry":"accuracy","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"layer_merge/trainer.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/layer_merge/trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9230e14bc7473f01"}},{"code_sha256_prefix":"0aef496f982bd284","entry":"adjust_with_bn","repo":"snu-mllab/layermerge","repo_kind":"official","path":"layer_merge/models/merge_op.py","file_url":"https://github.com/snu-mllab/layermerge/blob/HEAD/layer_merge/models/merge_op.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0aef496f982bd284"}},{"code_sha256_prefix":"d9def42110729a85","entry":"conv1x1","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"HALP/models/resnet.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/HALP/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"HALP/models/resnet.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/HALP/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"160bb14bd76201b4"}},{"code_sha256_prefix":"7e877f94c66d280c","entry":"conv_with_new","repo":"snu-mllab/layermerge","repo_kind":"official","path":"layer_merge/models/merge_op.py","file_url":"https://github.com/snu-mllab/layermerge/blob/HEAD/layer_merge/models/merge_op.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7e877f94c66d280c"}},{"code_sha256_prefix":"bd1f17e427bf51a5","entry":"dict2namespace","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"Diff-Pruning/exp_code/finetune.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/Diff-Pruning/exp_code/finetune.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd1f17e427bf51a5"}},{"code_sha256_prefix":"ca0cea1ca1eeec89","entry":"get_beta_schedule","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"layer_merge/ddpm_trainer.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/layer_merge/ddpm_trainer.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ca0cea1ca1eeec89"}},{"code_sha256_prefix":"b698fd9df5f648a6","entry":"merge_or_new","repo":"snu-mllab/layermerge","repo_kind":"official","path":"layer_merge/models/merge_op.py","file_url":"https://github.com/snu-mllab/layermerge/blob/HEAD/layer_merge/models/merge_op.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b698fd9df5f648a6"}},{"code_sha256_prefix":"c5f7f81b1ed8389e","entry":"natural_key","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"layer_merge/aggregate_imp.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/layer_merge/aggregate_imp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c5f7f81b1ed8389e"}},{"code_sha256_prefix":"36a45cceb1209d2f","entry":"noise_estimation_loss","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"layer_merge/ddpm_trainer.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/layer_merge/ddpm_trainer.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"36a45cceb1209d2f"}},{"code_sha256_prefix":"da634e83bc73dbc2","entry":"unroll_bias_params","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"Efficient-CNN-Depth-Compression/models/model_op.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/Efficient-CNN-Depth-Compression/models/model_op.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da634e83bc73dbc2"}},{"code_sha256_prefix":"afce56cbc2fd5872","entry":"unroll_bn_params","repo":"snu-mllab/layermerge","repo_kind":"official","path":"layer_merge/models/merge_op.py","file_url":"https://github.com/snu-mllab/layermerge/blob/HEAD/layer_merge/models/merge_op.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"afce56cbc2fd5872"}},{"code_sha256_prefix":"766adfb76c25bc6b","entry":"unroll_conv_params","repo":"snu-mllab/layermerge","repo_kind":"official","path":"layer_merge/models/merge_op.py","file_url":"https://github.com/snu-mllab/layermerge/blob/HEAD/layer_merge/models/merge_op.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"766adfb76c25bc6b"}},{"code_sha256_prefix":"b05267fb07337f46","entry":"unroll_conv_params","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"Efficient-CNN-Depth-Compression/models/model_op.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/Efficient-CNN-Depth-Compression/models/model_op.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b05267fb07337f46"}},{"code_sha256_prefix":"85ac542b88d8f697","entry":"unroll_merged","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"layer_merge/measure.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/layer_merge/measure.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"85ac542b88d8f697"}},{"code_sha256_prefix":"1084591b0a6b8b62","entry":"unroll_merged_vgg","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"layer_merge/measure.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/layer_merge/measure.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1084591b0a6b8b62"}},{"code_sha256_prefix":"d55563e057db09b2","entry":"update_m_weights","repo":"snu-mllab/layermerge","repo_kind":"official","path":"layer_merge/models/merge_op.py","file_url":"https://github.com/snu-mllab/layermerge/blob/HEAD/layer_merge/models/merge_op.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d55563e057db09b2"}},{"code_sha256_prefix":"7ca664ad5eb99003","entry":"ResNet18","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"HALP/models/resnet.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/HALP/models/resnet.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":"7ca664ad5eb99003"}},{"code_sha256_prefix":"2e647db33e6bd721","entry":"calculate_activation_statistics","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"Diff-Pruning/exp_code/fid_score.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/Diff-Pruning/exp_code/fid_score.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":"2e647db33e6bd721"}},{"code_sha256_prefix":"0def50a351111624","entry":"calculate_frechet_distance","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"Diff-Pruning/exp_code/fid_score.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/Diff-Pruning/exp_code/fid_score.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0def50a351111624"}},{"code_sha256_prefix":"1af4059005f8a78d","entry":"get_activations","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"Diff-Pruning/exp_code/fid_score.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/Diff-Pruning/exp_code/fid_score.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":"1af4059005f8a78d"}},{"code_sha256_prefix":"53138d8dfe29a2a5","entry":"get_time","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"layer_merge/measure.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/layer_merge/measure.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":"53138d8dfe29a2a5"}},{"code_sha256_prefix":"ed8e294ff23d95ea","entry":"parse_args_and_config","repo":"snu-mllab/LayerMerge","repo_kind":"official","path":"Diff-Pruning/exp_code/finetune.py","file_url":"https://github.com/snu-mllab/LayerMerge/blob/HEAD/Diff-Pruning/exp_code/finetune.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":"ed8e294ff23d95ea"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}