{"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/conet-channel-optimization-for-convolutional","title":"CONet: Channel Optimization for Convolutional Neural Networks","arxiv_id":"2108.06822","date":"2021-08-15","proceeding":null,"authors":["Mahdi S. Hosseini","Jia Shu Zhang","Zhe Liu","Andre Fu","Jingxuan Su","Mathieu Tuli","Sepehr Hosseini","Arsh Kadakia","Haoran Wang","Konstantinos N. Plataniotis"],"abstract":"Neural Architecture Search (NAS) has shifted network design from using human intuition to leveraging search algorithms guided by evaluation metrics. We study channel size optimization in convolutional neural networks (CNN) and identify the role it plays in model accuracy and complexity. Current channel size selection methods are generally limited by discrete sample spaces while suffering from manual iteration and simple heuristics. To solve this, we introduce an efficient dynamic scaling algorithm -- CONet -- that automatically optimizes channel sizes across network layers for a given CNN. Two metrics -- \"\\textit{Rank}\" and \"\\textit{Rank Average Slope}\" -- are introduced to identify the information accumulated in training. The algorithm dynamically scales channel sizes up or down over a fixed searching phase. We conduct experiments on CIFAR10/100 and ImageNet datasets and show that CONet can find efficient and accurate architectures searched in ResNet, DARTS, and DARTS+ spaces that outperform their baseline models. This document supersedes previously published paper in ICCV2021-NeurArch workshop. An additional section is included on manual scaling of channel size in CNNs to numerically validate of the metrics used in searching optimum channel configurations in CNNs.","url_abs":"https://arxiv.org/abs/2108.06822v2","url_pdf":"https://arxiv.org/pdf/2108.06822v2.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":"conet-channel-optimization-for-convolutional","repo_url":"https://github.com/mahdihosseini/conet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"architecture-search","task_name":"Neural Architecture Search"}],"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":"convolution","method_name":"Convolution"},{"method_slug":"darts","method_name":"DARTS"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2108.06822","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.06822"}},"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/mahdihosseini/conet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":9},"by_repo_kind":{"official":{"samples":10,"ran":1,"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":"9e8ce2d162e22cdd","entry":"VBsigma2","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/VBMF.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/VBMF.py","link_basis":"plan_row","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":"9e8ce2d162e22cdd"}},{"code_sha256_prefix":"0493f54aeb087086","entry":"EVBMF","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/VBMF.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/VBMF.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":"0493f54aeb087086"}},{"code_sha256_prefix":"0b42d960ea81c183","entry":"VBMF","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/VBMF.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/VBMF.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":"0b42d960ea81c183"}},{"code_sha256_prefix":"721a4b3213ecc252","entry":"compile_adaptive_files","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/adaptive_graph.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/adaptive_graph.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":"721a4b3213ecc252"}},{"code_sha256_prefix":"025c9771197fa64f","entry":"find_cell_first_conv_idx","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/darts_scaling_algorithms.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/darts_scaling_algorithms.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":"025c9771197fa64f"}},{"code_sha256_prefix":"7adbbc7cf50d72ed","entry":"find_cell_first_conv_idx","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/dartsplus_scaling_algorithms.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/dartsplus_scaling_algorithms.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":"7adbbc7cf50d72ed"}},{"code_sha256_prefix":"2668c073a774ff76","entry":"get_cells_type","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/darts_scaling_algorithms.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/darts_scaling_algorithms.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":"2668c073a774ff76"}},{"code_sha256_prefix":"3bf1f494c6a5582c","entry":"get_layer_conv_ranks","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/darts_scaling_algorithms.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/darts_scaling_algorithms.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":"3bf1f494c6a5582c"}},{"code_sha256_prefix":"63a8dc3bb02af22f","entry":"load_meta_file","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/datasets.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/datasets.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":"63a8dc3bb02af22f"}},{"code_sha256_prefix":"1dcb024fb2f715dd","entry":"parse_devkit_archive","repo":"mahdihosseini/conet","repo_kind":"official","path":"CONet/datasets.py","file_url":"https://github.com/mahdihosseini/conet/blob/HEAD/CONet/datasets.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":"1dcb024fb2f715dd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}