Xiaowen Ma, Zhenliang Ni, Xinghao Chen
Huawei Noah’s Ark Lab
2025/06/26
: TinyViM is accepted by ICCV'25 and the checkpoints are available.2024/11/29
: Code is open.2024/11/27
: TinyViM is available at Arxiv.
We build a series of tiny hybrid vision Mamba called TinyViM by integrating mobile-friendly convolution and efficient Laplace mixer. The proposed TinyViM achieves impressive performance on several downstream tasks including image classification, semantic segmentation, object detection and instance segmentation. In particular, TinyViM outperforms Convolution, Transformer and Mamba-based models with similar scales, and the throughput is about 2-3 times higher than that of other Mamba-based models.
Model | Type | Params (M) | GMACs | Throughput (im/s) | Top-1(300e/1000e) |
---|---|---|---|---|---|
TinyViM-S | CNN-Mamba | 5.6 | 0.9 | 2563 | 79.2/80.3 |
TinyViM-B | CNN-Mamba | 11.0 | 1.5 | 1851 | 81.2/82.1 |
TinyViM-L | CNN-Mamba | 31.7 | 4.7 | 843 | 83.3/83.6 |
We have provided the checkpoints and training logs in the table above!
Model | Head | AP-box | AP-mask |
---|---|---|---|
TinyViM-B | Mask RCNN | 42.3 | 38.7 |
TinyViM-L | Mask RCNN | 44.5 | 40.7 |
Model | Head | Throughput | mIoU |
---|---|---|---|
TinyViM-B | FPN | 180 | 41.9 |
TinyViM-L | FPN | 111 | 44.2 |
-
Environment
conda create --name tinyvim python=3.9.11 -y conda activate tinyvim conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia pip install timm==0.5.4
Please refer to VMamba for installing selective_scan_cuda.
Please refer to mmdetection-2.28.2 and mmsegmentation-0.30.0 for environments and data preparation of detection and segmentation, respectively.
-
Train
bash train.sh
-
Test
bash eval.sh
-
speed
python speed_gpu.py --model TinyViM_S --resolution 224 --batch 2048
-
Detection & Instance Segmentation
cd detection bash train.sh # for train bash eval.sh # for eval
-
Semantic Segmentation
cd segmentation bash train.sh # for train bash eval.sh # for eval
If you are interested in our work, please consider giving a 🌟 and citing our work below.
@misc{tinyvim,
title={TinyViM: Frequency Decoupling for Tiny Hybrid Vision Mamba},
author={Xiaowen Ma and Zhenliang Ni and Xinghao Chen},
year={2024},
eprint={2411.17473},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2411.17473},
}
Thanks to previous open-sourced repo: Efficientformer, Swiftformer, RepViT, mmsegmentation, mmdetection