{"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/convmlp-hierarchical-convolutional-mlps-for","title":"ConvMLP: Hierarchical Convolutional MLPs for Vision","arxiv_id":"2109.04454","date":"2021-09-09","proceeding":null,"authors":["Jiachen Li","Ali Hassani","Steven Walton","Humphrey Shi"],"abstract":"MLP-based architectures, which consist of a sequence of consecutive multi-layer perceptron blocks, have recently been found to reach comparable results to convolutional and transformer-based methods. However, most adopt spatial MLPs which take fixed dimension inputs, therefore making it difficult to apply them to downstream tasks, such as object detection and semantic segmentation. Moreover, single-stage designs further limit performance in other computer vision tasks and fully connected layers bear heavy computation. To tackle these problems, we propose ConvMLP: a hierarchical Convolutional MLP for visual recognition, which is a light-weight, stage-wise, co-design of convolution layers, and MLPs. In particular, ConvMLP-S achieves 76.8% top-1 accuracy on ImageNet-1k with 9M parameters and 2.4G MACs (15% and 19% of MLP-Mixer-B/16, respectively). Experiments on object detection and semantic segmentation further show that visual representation learned by ConvMLP can be seamlessly transferred and achieve competitive results with fewer parameters. Our code and pre-trained models are publicly available at https://github.com/SHI-Labs/Convolutional-MLPs.","url_abs":"https://arxiv.org/abs/2109.04454v2","url_pdf":"https://arxiv.org/pdf/2109.04454v2.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":"convmlp-hierarchical-convolutional-mlps-for","repo_url":"https://github.com/SHI-Labs/Convolutional-MLPs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"convmlp-hierarchical-convolutional-mlps-for","repo_url":"https://github.com/liuruiyang98/Jittor-MLP","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null},{"paper_slug":"convmlp-hierarchical-convolutional-mlps-for","repo_url":"https://github.com/BR-IDL/PaddleViT/tree/develop/image_classification","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":null},{"paper_slug":"convmlp-hierarchical-convolutional-mlps-for","repo_url":"https://github.com/shinya7y/UniverseNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"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":"convmlp","method_name":"ConvMLP"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"depthwise-convolution","method_name":"Depthwise Convolution"},{"method_slug":"fpn","method_name":"FPN"},{"method_slug":"mask-r-cnn","method_name":"Mask R-CNN"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"residual-connection","method_name":"Residual Connection"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-classification-on-cifar-10","task":"Image Classification","dataset":"CIFAR-10","model":"ConvMLP-M","rank_in_archive_order":36,"of":265,"metrics":{"Percentage correct":"98.6"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-cifar-10","task":"Image Classification","dataset":"CIFAR-10","model":"ConvMLP-L","rank_in_archive_order":37,"of":265,"metrics":{"Percentage correct":"98.6"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-cifar-10","task":"Image Classification","dataset":"CIFAR-10","model":"ConvMLP-S","rank_in_archive_order":61,"of":265,"metrics":{"Percentage correct":"98"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-cifar-100","task":"Image Classification","dataset":"CIFAR-100","model":"ConvMLP-M","rank_in_archive_order":34,"of":211,"metrics":{"Percentage correct":"89.1"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-cifar-100","task":"Image Classification","dataset":"CIFAR-100","model":"ConvMLP-L","rank_in_archive_order":35,"of":211,"metrics":{"Percentage correct":"88.6"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-cifar-100","task":"Image Classification","dataset":"CIFAR-100","model":"ConvMLP-S","rank_in_archive_order":46,"of":211,"metrics":{"Percentage correct":"87.4"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-flowers-102","task":"Image Classification","dataset":"Flowers-102","model":"ConvMLP-S","rank_in_archive_order":9,"of":52,"metrics":{"Accuracy":"99.5"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-flowers-102","task":"Image Classification","dataset":"Flowers-102","model":"ConvMLP-L","rank_in_archive_order":10,"of":52,"metrics":{"Accuracy":"99.5"},"uses_additional_data":true},{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"ConvMLP-L","rank_in_archive_order":715,"of":1060,"metrics":{"Number of params":"42.7M","Top 1 Accuracy":"80.2%"},"uses_additional_data":false},{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"ConvMLP-M","rank_in_archive_order":792,"of":1060,"metrics":{"Number of params":"17.4M","Top 1 Accuracy":"79%"},"uses_additional_data":false},{"leaderboard":"/sota/image-classification-on-imagenet","task":"Image Classification","dataset":"ImageNet","model":"ConvMLP-S","rank_in_archive_order":899,"of":1060,"metrics":{"Number of params":"9M","Top 1 Accuracy":"76.8"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-ade20k","task":"Semantic Segmentation","dataset":"ADE20K","model":"ConvMLP-L","rank_in_archive_order":219,"of":235,"metrics":{"Validation mIoU":"40"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-ade20k","task":"Semantic Segmentation","dataset":"ADE20K","model":"ConvMLP-M","rank_in_archive_order":220,"of":235,"metrics":{"Validation mIoU":"38.6"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-ade20k","task":"Semantic Segmentation","dataset":"ADE20K","model":"ConvMLP-S","rank_in_archive_order":226,"of":235,"metrics":{"Validation mIoU":"35.8"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2109.04454","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.04454"}},"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/SHI-Labs/Convolutional-MLPs","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/liuruiyang98/Jittor-MLP","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/BR-IDL/PaddleViT/tree/develop/image_classification","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/shinya7y/UniverseNet","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"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":"512ea20f4a7675a4","entry":"convmlp_l","repo":"SHI-Labs/Convolutional-MLPs","repo_kind":"official","path":"src/convmlp.py","file_url":"https://github.com/SHI-Labs/Convolutional-MLPs/blob/HEAD/src/convmlp.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"512ea20f4a7675a4"}},{"code_sha256_prefix":"b3c8ffff038777b7","entry":"convmlp_m","repo":"SHI-Labs/Convolutional-MLPs","repo_kind":"official","path":"src/convmlp.py","file_url":"https://github.com/SHI-Labs/Convolutional-MLPs/blob/HEAD/src/convmlp.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b3c8ffff038777b7"}},{"code_sha256_prefix":"ddf87c88818e2913","entry":"convmlp_s","repo":"SHI-Labs/Convolutional-MLPs","repo_kind":"official","path":"src/convmlp.py","file_url":"https://github.com/SHI-Labs/Convolutional-MLPs/blob/HEAD/src/convmlp.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ddf87c88818e2913"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}