{"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/slimmable-neural-networks","title":"Slimmable Neural Networks","arxiv_id":"1812.08928","date":"2018-12-21","proceeding":"ICLR 2019 5","authors":["Jiahui Yu","Linjie Yang","Ning Xu","Jianchao Yang","Thomas Huang"],"abstract":"We present a simple and general method to train a single neural network\nexecutable at different widths (number of channels in a layer), permitting\ninstant and adaptive accuracy-efficiency trade-offs at runtime. Instead of\ntraining individual networks with different width configurations, we train a\nshared network with switchable batch normalization. At runtime, the network can\nadjust its width on the fly according to on-device benchmarks and resource\nconstraints, rather than downloading and offloading different models. Our\ntrained networks, named slimmable neural networks, achieve similar (and in many\ncases better) ImageNet classification accuracy than individually trained models\nof MobileNet v1, MobileNet v2, ShuffleNet and ResNet-50 at different widths\nrespectively. We also demonstrate better performance of slimmable models\ncompared with individual ones across a wide range of applications including\nCOCO bounding-box object detection, instance segmentation and person keypoint\ndetection without tuning hyper-parameters. Lastly we visualize and discuss the\nlearned features of slimmable networks. Code and models are available at:\nhttps://github.com/JiahuiYu/slimmable_networks","url_abs":"http://arxiv.org/abs/1812.08928v1","url_pdf":"http://arxiv.org/pdf/1812.08928v1.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":"slimmable-neural-networks","repo_url":"https://github.com/JiahuiYu/slimmable_networks","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"slimmable-neural-networks","repo_url":"https://github.com/Jia-Research-Lab/MSAD","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"slimmable-neural-networks","repo_url":"https://github.com/dvlab-research/msad","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"slimmable-neural-networks","repo_url":"https://github.com/code-implementation1/Code9/tree/main/ShuffleNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"keypoint-detection","task_name":"Keypoint Detection"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"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":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"channel-shuffle","method_name":"Channel Shuffle"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"depthwise-separable-convolution","method_name":"Depthwise Separable Convolution"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"grouped-convolution","method_name":"Grouped Convolution"},{"method_slug":"groupwise-point-convolution","method_name":"Groupwise Point Convolution"},{"method_slug":"inverted-residual-block","method_name":"Inverted Residual Block"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"mobilenetv1","method_name":"MobileNetV1"},{"method_slug":"pointwise-convolution","method_name":"Pointwise Convolution"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"shufflenet","method_name":"ShuffleNet"},{"method_slug":"shufflenet-block","method_name":"ShuffleNet Block"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1812.08928","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1812.08928"}},"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/dvlab-research/msad","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/code-implementation1/Code9/tree/main/ShuffleNet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JiahuiYu/slimmable_networks","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Jia-Research-Lab/MSAD","reach":null}],"summary":{"ran_honours":2},"by_repo_kind":{"official":{"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":"3356d3566f053dcc","entry":"make_divisible","repo":"JiahuiYu/slimmable_networks","repo_kind":"official","path":"models/slimmable_ops.py","file_url":"https://github.com/JiahuiYu/slimmable_networks/blob/HEAD/models/slimmable_ops.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3356d3566f053dcc"}},{"code_sha256_prefix":"f2651564dccf3253","entry":"pop_channels","repo":"JiahuiYu/slimmable_networks","repo_kind":"official","path":"models/slimmable_ops.py","file_url":"https://github.com/JiahuiYu/slimmable_networks/blob/HEAD/models/slimmable_ops.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":"f2651564dccf3253"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}