Papers › A ConvNet for the 2020s
A ConvNet for the 2020s
Zhuang Liu, Hanzi Mao, Chao-yuan Wu, Christoph Feichtenhofer, Trevor Darrell, Saining Xie
The "Roaring 20s" of visual recognition began with the introduction of Vision Transformers (ViTs), which quickly superseded ConvNets as the state-of-the-art image classification model. A vanilla ViT, on the other hand, faces difficulties when applied to general computer vision tasks such as object detection and semantic segmentation. It is the hierarchical Transformers (e.g., Swin Transformers) that reintroduced several ConvNet priors, making Transformers practically viable as a generic vision backbone and demonstrating remarkable performance on a wide variety of vision tasks. However, the effectiveness of such hybrid approaches is still largely credited to the intrinsic superiority of Transformers, rather than the inherent inductive biases of convolutions. In this work, we reexamine the design spaces and test the limits of what a pure ConvNet can achieve. We gradually "modernize" a standard ResNet toward the design of a vision Transformer, and discover several key components that contribute to the performance difference along the way. The outcome of this exploration is a family of pure ConvNet models dubbed ConvNeXt. Constructed entirely from standard ConvNet modules, ConvNeXts compete favorably with Transformers in terms of accuracy and scalability, achieving 87.8% ImageNet top-1 accuracy and outperforming Swin Transformers on COCO detection and ADE20K segmentation, while maintaining the simplicity and efficiency of standard ConvNets.
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2201.03545")
Code
Syntology Ran 54 of 80 code samples harvested from 19 repositories linked to this paper; 26 have no recorded run. Of those that ran: 1 ran · honoured contract; 5 ran · our draft was wrong; 2 ran · fixture could not drive it; 46 ran with no contract checked.
By repository: community (archive-listed): 78 samples from 19 repositories, 52 ran; 2 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
54 repositories listed; official and paper-mentioned ones first.
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
80 samples harvested; 54 ran; 1 honoured the contract we drafted; 26 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.
Licence: 11 of the 80 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.
Harvested from 19 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.
Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.
Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: 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. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.
2dd46bec59a83b7b · report
adc5d3ca9a21de02 · report
114ebf6f5300f50a · report
e5136463e3d9b5d9 · report
0bf3c80a4d223969 · report
c7a4a3371425c3ed · report
c8ac0dd572294b23 · report
89c908636a8e0602 · report
717211755e50eb05 · report
10f409a671e88bc3 · report
f4445f68e74841d0 · report
b2b0744532c3b95e · report
21ca7a5eca0f20a7 · report
0a9ccfaec6460f9b · report
305d76901873eee2 · report
9a81a26d651f9883 · report
ea89b2384c71ce06 · report
fda3c94b54e0b559 · report
9e1c193413b20e6e · report
2748b257d8ff4d3d · report
b7361cb0c1592f4b · report
cfe765a405ec911f · report
6255e860ca403ee6 · report
28aceeb7bc019d43 · report
34a4f57109d0223a · report
a0d926a08b9cf439 · report
c34db513de5535f1 · report
61d5fe387e5aea75 · report
80c7b022ae7942ed · report
dff029ed85c168ca · report
3851860b73cb71a9 · report
d412faa4209a95a5 · report
a3e629aa4dc78889 · report
c237d46e09539ba8 · report
baad12607c91ab0b · report
65b8909854f686af · report
65848fdb560a8378 · report
650e4fe6e5133c60 · report
d3287c301a9e5d2a · report
8e01c115449d22b7 · report
684bcd34dc5acda1 · report
a60bd2bbb558fe05 · report
62ec6c525f2f3b37 · report
b6b433072be7fbfc · report
793c01e18742fca2 · report
5d3e948c34fafbe5 · report
a5e8dd4f5b4997a9 · report
9158c58fe9eb4b02 · report
af08f1375360cd95 · report
743bf392200483a3 · report
40d3c39a403ae1f7 · report
a796360490702186 · report
dd9421b72f48ad6d · report
dd371307a76c00b0 · report
9a10ee44c3d37cd1 · report
6670f25cb82fb974 · report
fcdf8de474c4cbd1 · report
33404a7aa263cc2d · report
af5901026319567f · report
1b8e89a263fe7ec2 · report
37e6df5d4164c8af · report
29fb838c4dd6b868 · report
414ef464242b98e7 · report
dd3de6705b10dead · report
cb731701b5eb0323 · report
983cc65c35c3d898 · report
0c184b9cfad87e20 · report
d0c0db9b61ce43ef · report
df5508fa2861f149 · report
7476dcb06a6af0ae · report
59d110860cf7a38a · report
c096f8217b69c316 · report
d124421cd6cbfc19 · report
0ff468c9fc7688e2 · report
698131638ff8d4ad · report
e5a370ee6856bd8d · report
b85a6569fd4f3890 · report
ac95eb88d9b993fd · report
a505d8b9327be637 · report
3649cd96f92a4aa2 · report
Tasks
Results from the paper archive 2025-07-28
| Task | Dataset | Model | Metric | Value | Rank at snapshot | Leaderboard | Report |
|---|---|---|---|---|---|---|---|
| Classification | InDL | ConvNext | Average Recall | 93.47% | #1 of 9 | Archive leaderboard | report |
| Domain Generalization | ImageNet-A | ConvNeXt-XL (Im21k, 384) | Top-1 accuracy % | 69.3 | #10 of 39 | Archive leaderboard | report |
| Domain Generalization | ImageNet-C | ConvNeXt-XL (Im21k) (augmentation overlap with ImageNet-C) | Number of params | 350M | #12 of 47 | Archive leaderboard | report |
| Domain Generalization | ImageNet-C | ConvNeXt-XL (Im21k) (augmentation overlap with ImageNet-C) | mean Corruption Error (mCE) | 38.8 | #12 of 47 | Archive leaderboard | report |
| Domain Generalization | ImageNet-R | ConvNeXt-XL (Im21k, 384) | Top-1 Error Rate | 31.8 | #8 of 39 | Archive leaderboard | report |
| Domain Generalization | ImageNet-Sketch | ConvNeXt-XL (Im21k, 384) | Top-1 accuracy | 55.0 | #4 of 20 | Archive leaderboard | report |
| Domain Generalization | VizWiz-Classification | ConvNeXt-B | Accuracy - All Images | 53.5 | #2 of 90 | Archive leaderboard | report |
| Domain Generalization | VizWiz-Classification | ConvNeXt-B | Accuracy - Clean Images | 56 | #2 of 90 | Archive leaderboard | report |
| Domain Generalization | VizWiz-Classification | ConvNeXt-B | Accuracy - Corrupted Images | 46.9 | #2 of 90 | Archive leaderboard | report |
| Image Classification | ImageNet | Adlik-ViT-SG+Swin_large+Convnext_xlarge(384) | Number of params | 1827M | #51 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | Adlik-ViT-SG+Swin_large+Convnext_xlarge(384) | Top 1 Accuracy | 88.36% | #51 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-XL (ImageNet-22k) | GFLOPs | 179 | #72 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-XL (ImageNet-22k) | Number of params | 350M | #72 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-XL (ImageNet-22k) | Top 1 Accuracy | 87.8% | #72 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-L (384 res) | GFLOPs | 101 | #226 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-L (384 res) | Number of params | 198M | #226 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-L (384 res) | Top 1 Accuracy | 85.5% | #226 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-T | GFLOPs | 4.5 | #576 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-T | Number of params | 29M | #576 of 1060 | Archive leaderboard | report |
| Image Classification | ImageNet | ConvNeXt-T | Top 1 Accuracy | 82.1% | #576 of 1060 | Archive leaderboard | report |
| Object Detection | COCO-O | ConvNeXt-XL (Cascade Mask R-CNN) | Average mAP | 37.5 | #7 of 45 | Archive leaderboard | report |
| Object Detection | COCO-O | ConvNeXt-XL (Cascade Mask R-CNN) | Effective Robustness | 12.68 | #7 of 45 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-XL++ | GFLOPs (512 x 512) | 3335 | #69 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-XL++ | Params (M) | 391 | #69 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-XL++ | Validation mIoU | 54 | #69 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-L++ | GFLOPs (512 x 512) | 2458 | #74 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-L++ | Params (M) | 235 | #74 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-L++ | Validation mIoU | 53.7 | #74 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-B++ | GFLOPs (512 x 512) | 1828 | #83 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-B++ | Params (M) | 122 | #83 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-B++ | Validation mIoU | 53.1 | #83 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-B | GFLOPs (512 x 512) | 1170 | #123 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-B | Params (M) | 122 | #123 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-B | Validation mIoU | 49.9 | #123 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-S | GFLOPs (512 x 512) | 1027 | #129 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-S | Params (M) | 82 | #129 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-S | Validation mIoU | 49.6 | #129 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-T | GFLOPs (512 x 512) | 939 | #172 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-T | Params (M) | 60 | #172 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ADE20K | ConvNeXt-T | Validation mIoU | 46.7 | #172 of 235 | Archive leaderboard | report |
| Semantic Segmentation | ImageNet-S | ConvNext-Tiny (P4, 224x224, SUP) | mIoU (test) | 48.8 | #11 of 20 | Archive leaderboard | report |
| Semantic Segmentation | ImageNet-S | ConvNext-Tiny (P4, 224x224, SUP) | mIoU (val) | 48.7 | #11 of 20 | Archive leaderboard | report |
Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.
Methods
Introduced by this paper: ConvNeXt
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections