项目介绍:MambaVision
概述
MambaVision是一个混合Mamba-Transformer视觉网络骨干,它结合了自注意力和混合块的分层架构。通过在Top-1准确率和吞吐量上取得新达标的Pareto最优解,MambaVision展示了强劲的性能。项目的实现由Ali Hatamizadeh和Jan Kautz带头开发,并由NVIDIA实验室负责。
项目特点
-
创新的混合块: MambaVision通过引入一种全新的无SSM(对称路径不使用SSM)的混合块以增强全局上下文的建模能力。
-
分层架构: 该项目采用分层架构,结合了自注意力机制和混合块,使其能够通过多个阶段生成多尺度特征。
-
图像处理能力: MambaVision支持处理任意分辨率的图像而无需更改模型配置。
最新更新
- 2024年7月24日:MambaVision的模型已在Hugging Face上发布。
- 2024年7月14日:新增支持处理任意分辨率图像。
- 2024年7月12日:相关论文在arXiv上发布。
- 2024年7月11日:[MambaVision pip包]现已发布!
- 2024年7月10日:代码和模型检查点已公开发布。
快速入门
MambaVision提供了在Hugging Face上轻松使用预训练模型的能力,用户只需安装相关依赖,即可通过几行代码导入并使用。如:
pip install mambavision
之后,用户可以使用以下方式加载模型:
from transformers import AutoModelForImageClassification
model = AutoModelForImageClassification.from_pretrained("nvidia/MambaVision-T-1K", trust_remote_code=True)
该模型不仅可以用于图像分类,还可以进行特征提取,提供了每个模型阶段的输出。
常见问题解答
-
支持任意分辨率处理吗? 是的,MambaVision允许处理任意分辨率的图像。
-
能否用于下游任务如检测、分割? 可以,目前正在努力支持这些任务。用户可以利用MambaVision的特征提取能力进行这些任务。
-
我可以在自己的仓库中重新实现MambaVision吗? 可以,预训练权重以CC-BY-NC-SA-4.0许可证发布。请在项目仓库提交issue,我们会添加您的仓库到项目的README文件中并给予适当的感谢。
结果和预训练模型
MambaVision在ImageNet-1K上取得了优异的成绩,其中包括:
名称 | 准确率1(%) | 准确率5(%) | 吞吐量(图片/秒) | 分辨率 | 参数百万(M) | FLOPs(G) |
---|---|---|---|---|---|---|
MambaVision-T | 82.3 | 96.2 | 6298 | 224x224 | 31.8 | 4.4 |
MambaVision-T2 | 82.7 | 96.3 | 5990 | 224x224 | 35.1 | 5.1 |
MambaVision-S | 83.3 | 96.5 | 4700 | 224x224 | 50.1 | 7.5 |
MambaVision-B | 84.2 | 96.9 | 3670 | 224x224 | 97.7 | 15.0 |
MambaVision-L | 85.0 | 97.1 | 2190 | 224x224 | 227.9 | 34.9 |
MambaVision-L2 | 85.3 | 97.2 | 1021 | 224x224 | 241.5 | 37.5 |
这些模型均提供了高效的图像处理能力,适用于多种应用场景。
安装和评估
用户可以通过提供的Docker文件或通过安装PyTorch后,运行以下命令来安装依赖:
pip install -r requirements.txt
MambaVision模型可以通过以下命令在ImageNet-1K验证集上进行评估:
python validate.py \
--model <model-name>
--checkpoint <checkpoint-path>
--data_dir <imagenet-path>
--batch-size <batch-size-per-gpu>
引用
如在您的研究中使用MambaVision,请引用以下论文:
@article{hatamizadeh2024mambavision,
title={MambaVision: A Hybrid Mamba-Transformer Vision Backbone},
author={Hatamizadeh, Ali and Kautz, Jan},
journal={arXiv preprint arXiv:2407.08083},
year={2024}
}
致谢
本项目构建基于timm库,感谢Ross Wrightman创建和维护如此高质量的库。