{"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/efficient-latency-aware-cnn-depth-compression","title":"Efficient Latency-Aware CNN Depth Compression via Two-Stage Dynamic Programming","arxiv_id":"2301.12187","date":"2023-01-28","proceeding":null,"authors":["Jinuk Kim","Yeonwoo Jeong","Deokjae Lee","Hyun Oh Song"],"abstract":"Recent works on neural network pruning advocate that reducing the depth of the network is more effective in reducing run-time memory usage and accelerating inference latency than reducing the width of the network through channel pruning. In this regard, some recent works propose depth compression algorithms that merge convolution layers. However, the existing algorithms have a constricted search space and rely on human-engineered heuristics. In this paper, we propose a novel depth compression algorithm which targets general convolution operations. We propose a subset selection problem that replaces inefficient activation layers with identity functions and optimally merges consecutive convolution operations into shallow equivalent convolution operations for efficient end-to-end inference latency. Since the proposed subset selection problem is NP-hard, we formulate a surrogate optimization problem that can be solved exactly via two-stage dynamic programming within a few seconds. We evaluate our methods and baselines by TensorRT for a fair inference latency comparison. Our method outperforms the baseline method with higher accuracy and faster inference speed in MobileNetV2 on the ImageNet dataset. Specifically, we achieve $1.41\\times$ speed-up with $0.11$\\%p accuracy gain in MobileNetV2-1.0 on the ImageNet.","url_abs":"https://arxiv.org/abs/2301.12187v2","url_pdf":"https://arxiv.org/pdf/2301.12187v2.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":"efficient-latency-aware-cnn-depth-compression","repo_url":"https://github.com/snu-mllab/efficient-cnn-depth-compression","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"network-pruning","task_name":"Network Pruning"},{"task_slug":"two","task_name":"Vocal Bursts Valence Prediction"}],"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":"convolution","method_name":"Convolution"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"depthwise-separable-convolution","method_name":"Depthwise Separable Convolution"},{"method_slug":"inverted-residual-block","method_name":"Inverted Residual Block"},{"method_slug":"pointwise-convolution","method_name":"Pointwise Convolution"},{"method_slug":"pruning","method_name":"Pruning"},{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2301.12187","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2301.12187"}},"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/snu-mllab/efficient-cnn-depth-compression","reach":null}],"summary":{"ran":1,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":4,"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":0,"samples":[{"code_sha256_prefix":"de28451553f99b21","entry":"Logger","repo":"snu-mllab/efficient-cnn-depth-compression","repo_kind":"official","path":"utils/dp.py","file_url":"https://github.com/snu-mllab/efficient-cnn-depth-compression/blob/HEAD/utils/dp.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":"de28451553f99b21"}},{"code_sha256_prefix":"3ab9c5f2150c7b78","entry":"str2bool","repo":"snu-mllab/efficient-cnn-depth-compression","repo_kind":"official","path":"exps/inference_trt.py","file_url":"https://github.com/snu-mllab/efficient-cnn-depth-compression/blob/HEAD/exps/inference_trt.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3ab9c5f2150c7b78"}},{"code_sha256_prefix":"59f1438493703727","entry":"optimal_patterns","repo":"snu-mllab/efficient-cnn-depth-compression","repo_kind":"official","path":"utils/dp.py","file_url":"https://github.com/snu-mllab/efficient-cnn-depth-compression/blob/HEAD/utils/dp.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":"59f1438493703727"}},{"code_sha256_prefix":"661de42f50b638d8","entry":"val_df","repo":"snu-mllab/efficient-cnn-depth-compression","repo_kind":"official","path":"utils/dp.py","file_url":"https://github.com/snu-mllab/efficient-cnn-depth-compression/blob/HEAD/utils/dp.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":"661de42f50b638d8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}