{"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/learning-versatile-neural-architectures-by","title":"Learning Versatile Neural Architectures by Propagating Network Codes","arxiv_id":"2103.13253","date":"2021-03-24","proceeding":"ICLR 2022 4","authors":["Mingyu Ding","Yuqi Huo","Haoyu Lu","Linjie Yang","Zhe Wang","Zhiwu Lu","Jingdong Wang","Ping Luo"],"abstract":"This work explores how to design a single neural network capable of adapting to multiple heterogeneous vision tasks, such as image segmentation, 3D detection, and video recognition. This goal is challenging because both network architecture search (NAS) spaces and methods in different tasks are inconsistent. We solve this challenge from both sides. We first introduce a unified design space for multiple tasks and build a multitask NAS benchmark (NAS-Bench-MR) on many widely used datasets, including ImageNet, Cityscapes, KITTI, and HMDB51. We further propose Network Coding Propagation (NCP), which back-propagates gradients of neural predictors to directly update architecture codes along the desired gradient directions to solve various tasks. In this way, optimal architecture configurations can be found by NCP in our large search space in seconds. Unlike prior arts of NAS that typically focus on a single task, NCP has several unique benefits. (1) NCP transforms architecture optimization from data-driven to architecture-driven, enabling joint search an architecture among multitasks with different data distributions. (2) NCP learns from network codes but not original data, enabling it to update the architecture efficiently across datasets. (3) In addition to our NAS-Bench-MR, NCP performs well on other NAS benchmarks, such as NAS-Bench-201. (4) Thorough studies of NCP on inter-, cross-, and intra-tasks highlight the importance of cross-task neural architecture design, i.e., multitask neural architectures and architecture transferring between different tasks. Code is available at https://github.com/dingmyu/NCP.","url_abs":"https://arxiv.org/abs/2103.13253v2","url_pdf":"https://arxiv.org/pdf/2103.13253v2.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":"learning-versatile-neural-architectures-by","repo_url":"https://github.com/dingmyu/NCP","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-segmentation","task_name":"Image Segmentation"},{"task_slug":"architecture-search","task_name":"Neural Architecture Search"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"video-recognition","task_name":"Video Recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.13253","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.13253"}},"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/dingmyu/NCP","reach":null}],"summary":{"ran":5,"ran_honours":2,"ran_draft_wrong":5,"ran_fixture":1,"unverified":1},"by_repo_kind":{"official":{"samples":14,"ran":13,"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":"7653ec0dc3bc04c8","entry":"BasicBlock","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"7653ec0dc3bc04c8"}},{"code_sha256_prefix":"a64ad8762fe201c4","entry":"ConvBNReLU","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"a64ad8762fe201c4"}},{"code_sha256_prefix":"0aa384df5d22c220","entry":"FuseModule","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"0aa384df5d22c220"}},{"code_sha256_prefix":"eb4511eaa68b7bd7","entry":"Identity","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"eb4511eaa68b7bd7"}},{"code_sha256_prefix":"965c95dc0619b08a","entry":"ParallelModule","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"965c95dc0619b08a"}},{"code_sha256_prefix":"733638be3c212532","entry":"_make_divisible","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.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":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"733638be3c212532"}},{"code_sha256_prefix":"52b42ce8214983fb","entry":"conv3x3","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.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":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"52b42ce8214983fb"}},{"code_sha256_prefix":"01cd9fa7bdf70ca2","entry":"denormalize","repo":"dingmyu/NCP","repo_kind":"official","path":"tools/ncp.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/tools/ncp.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"01cd9fa7bdf70ca2"}},{"code_sha256_prefix":"9ce0aa3acf7a46fd","entry":"get_active_fn","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.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":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"9ce0aa3acf7a46fd"}},{"code_sha256_prefix":"2448b05701889c45","entry":"get_block_wrapper","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.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":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"2448b05701889c45"}},{"code_sha256_prefix":"fe7038d962bb928a","entry":"normalize","repo":"dingmyu/NCP","repo_kind":"official","path":"tools/ncp.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/tools/ncp.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fe7038d962bb928a"}},{"code_sha256_prefix":"e8fbff5c3395ac23","entry":"resize","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"e8fbff5c3395ac23"}},{"code_sha256_prefix":"2cc6dcc541f32757","entry":"valid_epoch","repo":"dingmyu/NCP","repo_kind":"official","path":"tools/train_predictor.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/tools/train_predictor.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":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"2cc6dcc541f32757"}},{"code_sha256_prefix":"c808f48b3238adbb","entry":"MultiResolutionNet","repo":"dingmyu/NCP","repo_kind":"official","path":"models/supernet.py","file_url":"https://github.com/dingmyu/NCP/blob/HEAD/models/supernet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-2-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"c808f48b3238adbb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}