Project Icon

metaformer

一系列视觉基线模型

MetaFormer项目推出多款视觉基线模型,包括IdentityFormer、RandFormer、ConvFormer和CAFormer。这些模型在ImageNet-1K数据集上表现出色,根据不同的token mixer架构,如身份映射、全局随机混合、可分离深度卷积和自注意机制,在224x224分辨率下的Top-1准确率均超过80%。特别是CAFormer,在无外部数据或蒸馏的条件下,达到85.5%的准确率记录。这些模型已集成到timm库中,方便应用和扩展。

MetaFormer视觉基线 (TPAMI 2024)

这是我们论文"MetaFormer视觉基线"中提出的几个MetaFormer基线的PyTorch实现,包括IdentityFormerRandFormerConvFormerCAFormer

图1 图1: MetaFormer基线和其他最先进模型在ImageNet-1K上224x224分辨率的性能。 我们提出的模型架构如图2所示。(a) IdentityFormer/RandFormer达到超过80%/81%的准确率,表明MetaFormer具有坚实的性能下限,并且在任意token混合器上都能很好地工作。训练良好的ResNet-50的准确率来自"ResNet strikes back"。(b) 没有新颖的token混合器,纯CNN-based的ConvFormer优于ConvNeXt,而CAFormer在正常监督训练下,不使用外部数据或蒸馏的情况下,在ImageNet-1K上224x224分辨率达到了85.5%的新记录准确率。

总览 图2: (a-d) IdentityFormer、RandFormer、ConvFormer和CAFormer的整体框架。 与ResNet类似,这些模型采用4个阶段的层次架构,第$i$阶段有$L_i$个块,特征维度为$D_i$。每个下采样模块由一层卷积实现。第一个下采样的核大小为7,步幅为4,而最后三个下采样的核大小为3,步幅为2。(e-h) IdentityFormer、RandFormer、ConvFormer和Transformer块的架构,它们分别具有恒等映射、全局随机混合、可分离深度卷积或普通自注意力的token混合器。

比较

新闻

MetaFormer基线的模型现已由Fredo GuanRoss Wightman集成到timm中。非常感谢!

要求

torch>=1.7.0; torchvision>=0.8.0; pyyaml; timm (pip install timm==0.6.11)

数据准备:ImageNet的文件夹结构如下,你可以使用这个脚本提取ImageNet。

│imagenet/
├──train/
│  ├── n01440764
│  │   ├── n01440764_10026.JPEG
│  │   ├── n01440764_10027.JPEG
│  │   ├── ......
│  ├── ......
├──val/
│  ├── n01440764
│  │   ├── ILSVRC2012_val_00000293.JPEG
│  │   ├── ILSVRC2012_val_00002138.JPEG
│  │   ├── ......
│  ├── ......

MetaFormer基线

在ImageNet-1K上训练的具有常见token混合器的模型

模型分辨率参数MACsTop1准确率下载
caformer_s1822426M4.1G83.6这里
caformer_s18_38438426M13.4G85.0这里
caformer_s3622439M8.0G84.5这里
caformer_s36_38438439M26.0G85.7这里
caformer_m3622456M13.2G85.2这里
caformer_m36_38438456M42.0G86.2这里
caformer_b3622499M23.2G85.5*这里
caformer_b36_38438499M72.2G86.4这里
convformer_s1822427M3.9G83.0这里
convformer_s18_38438427M11.6G84.4这里
convformer_s3622440M7.6G84.1这里
convformer_s36_38438440M22.4G85.4这里
convformer_m3622457M12.8G84.5这里
convformer_m36_38438457M37.7G85.6这里
convformer_b36224100M22.6G84.8这里
convformer_b36_384384100M66.5G85.7这里

:astonished: :astonished: * 据我们所知,该模型在正常监督设置下(无外部数据或蒸馏)在ImageNet-1K上224x224分辨率达到了85.5%的新准确率记录。

在ImageNet-21K上预训练并在ImageNet-1K上微调的具有常见token混合器的模型

模型分辨率参数MACsTop1准确率下载
caformer_s18_in21ft1k22426M4.1G84.1这里
caformer_s18_384_in21ft1k38426M13.4G85.4这里
caformer_s36_in21ft1k22439M8.0G85.8这里
caformer_s36_384_in21ft1k38439M26.0G86.9这里
caformer_m36_in21ft1k22456M13.2G86.6这里
caformer_m36_384_in21ft1k38456M42.0G87.5这里
caformer_b36_in21ft1k22499M23.2G87.4这里
caformer_b36_384_in21ft1k38499M72.2G88.1这里
convformer_s18_in21ft1k22427M3.9G83.7这里
convformer_s18_384_in21ft1k38427M11.6G85.0这里
convformer_s36_in21ft1k22440M7.6G85.4这里
convformer_s36_384_in21ft1k38440M22.4G86.4这里
convformer_m36_in21ft1k22457M12.8G86.1这里
convformer_m36_384_in21ft1k38457M37.7G86.9这里
convformer_b36_in21ft1k224100M22.6G87.0这里
convformer_b36_384_in21kft1k384100M66.5G87.6这里

在ImageNet-21K上预训练的具有常见令牌混合器的模型

模型分辨率下载
caformer_s18_in21k224这里
caformer_s36_in21k224这里
caformer_m36_in21k224这里
caformer_b36_in21k224这里
convformer_s18_in21k224这里
convformer_s36_in21k224这里
convformer_m36_in21k224这里
convformer_b36_in21k224这里

在ImageNet-1K上训练的具有基本令牌混合器的模型

模型分辨率参数MACsTop1 准确率下载
identityformer_s1222411.9M1.8G74.6这里
identityformer_s2422421.3M3.4G78.2这里
identityformer_s3622430.8M5.0G79.3这里
identityformer_m3622456.1M8.8G80.0这里
identityformer_m4822473.3M11.5G80.4这里
randformer_s1222411.9 + 0.2M1.9G76.6这里
randformer_s2422421.3 + 0.5M3.5G78.2这里
randformer_s3622430.8 + 0.7M5.2G79.5这里
randformer_m3622456.1 + 0.7M9.0G81.2这里
randformer_m4822473.3 + 0.9M11.9G81.4这里
poolformerv2_s1222411.9M1.8G78.0这里
poolformerv2_s2422421.3M3.4G80.7这里
poolformerv2_s3622430.8M5.0G81.6这里
poolformerv2_m3622456.1M8.8G82.2这里
poolformerv2_m4822473.3M11.5G82.6这里

带下划线的数字表示随机初始化后冻结的参数数量。

这些检查点也可以在百度网盘中找到。

使用方法

我们还提供了一个Colab笔记本,其中包含使用MetaFormer基线进行推理的步骤:Colab

验证

要评估我们的CAFormer-S18模型,运行:

MODEL=caformer_s18
python3 validate.py /path/to/imagenet  --model $MODEL -b 128 \
  --checkpoint /path/to/checkpoint 

训练

我们默认使用4096的批量大小,我们展示了如何使用8个GPU进行训练。对于多节点训练,请根据您的情况调整--grad-accum-steps

DATA_PATH=/path/to/imagenet
CODE_PATH=/path/to/code/metaformer # 在此修改代码路径


ALL_BATCH_SIZE=4096
NUM_GPU=8
GRAD_ACCUM_STEPS=4 # 根据您的GPU数量和内存大小进行调整。
let BATCH_SIZE=ALL_BATCH_SIZE/NUM_GPU/GRAD_ACCUM_STEPS


cd $CODE_PATH && sh distributed_train.sh $NUM_GPU $DATA_PATH \
--model convformer_s18 --opt adamw --lr 4e-3 --warmup-epochs 20 \
-b $BATCH_SIZE --grad-accum-steps $GRAD_ACCUM_STEPS \
--drop-path 0.2 --head-dropout 0.0

其他模型的训练(微调)脚本显示在scripts中。

致谢

Weihao Yu感谢TRC计划和GCP研究积分对部分计算资源的支持。我们的实现基于wonderful pytorch-image-models代码库。

Bibtex

@article{yu2024metaformer,
  author={Yu, Weihao and Si, Chenyang and Zhou, Pan and Luo, Mi and Zhou, Yichen and Feng, Jiashi and Yan, Shuicheng and Wang, Xinchao},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, 
  title={MetaFormer Baselines for Vision}, 
  year={2024},
  volume={46},
  number={2},
  pages={896-912},
  doi={10.1109/TPAMI.2023.3329173}}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号