{"id":13444495,"url":"https://github.com/MzeroMiko/VMamba","last_synced_at":"2025-03-20T19:30:38.770Z","repository":{"id":217815370,"uuid":"741898328","full_name":"MzeroMiko/VMamba","owner":"MzeroMiko","description":"VMamba: Visual State Space Models，code is based on mamba","archived":false,"fork":false,"pushed_at":"2024-04-25T14:59:40.000Z","size":24324,"stargazers_count":1462,"open_issues_count":105,"forks_count":75,"subscribers_count":15,"default_branch":"main","last_synced_at":"2024-04-25T15:05:55.863Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MzeroMiko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-11T10:42:25.000Z","updated_at":"2024-04-30T12:14:22.259Z","dependencies_parsed_at":"2024-04-15T02:32:36.982Z","dependency_job_id":"a58eb44b-0fb0-41c6-8ca9-8ff3f7353d52","html_url":"https://github.com/MzeroMiko/VMamba","commit_stats":null,"previous_names":["mzeromiko/vmamba"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MzeroMiko%2FVMamba","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MzeroMiko%2FVMamba/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MzeroMiko%2FVMamba/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MzeroMiko%2FVMamba/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MzeroMiko","download_url":"https://codeload.github.com/MzeroMiko/VMamba/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244676454,"owners_count":20491828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T04:00:26.347Z","updated_at":"2025-03-20T19:30:33.760Z","avatar_url":"https://github.com/MzeroMiko.png","language":"Python","funding_links":[],"categories":["On the replacement of transformer/attention by SSMs","Computer Vision","Python"],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n\u003ch1\u003eVMamba \u003c/h1\u003e\n\u003ch3\u003eVMamba: Visual State Space Model\u003c/h3\u003e\n\n[Yue Liu](https://github.com/MzeroMiko)\u003csup\u003e1\u003c/sup\u003e,[Yunjie Tian](https://sunsmarterjie.github.io/)\u003csup\u003e1\u003c/sup\u003e,[Yuzhong Zhao](https://scholar.google.com.hk/citations?user=tStQNm4AAAAJ\u0026hl=zh-CN\u0026oi=ao)\u003csup\u003e1\u003c/sup\u003e, [Hongtian Yu](https://github.com/yuhongtian17)\u003csup\u003e1\u003c/sup\u003e, [Lingxi Xie](https://scholar.google.com.hk/citations?user=EEMm7hwAAAAJ\u0026hl=zh-CN\u0026oi=ao)\u003csup\u003e2\u003c/sup\u003e, [Yaowei Wang](https://scholar.google.com.hk/citations?user=o_DllmIAAAAJ\u0026hl=zh-CN\u0026oi=ao)\u003csup\u003e3\u003c/sup\u003e, [Qixiang Ye](https://scholar.google.com.hk/citations?user=tjEfgsEAAAAJ\u0026hl=zh-CN\u0026oi=ao)\u003csup\u003e1\u003c/sup\u003e, [Yunfan Liu](https://scholar.google.com.hk/citations?user=YPL33G0AAAAJ\u0026hl=zh-CN\u0026oi=ao)\u003csup\u003e1\u003c/sup\u003e\n\n\u003csup\u003e1\u003c/sup\u003e  University of Chinese Academy of Sciences, \u003csup\u003e2\u003c/sup\u003e  HUAWEI Inc.,  \u003csup\u003e3\u003c/sup\u003e PengCheng Lab.\n\nPaper: ([arXiv 2401.10166](https://arxiv.org/abs/2401.10166))\n\n\u003c/div\u003e\n\n* [**updates**](#white_check_mark-updates)\n* [**abstract**](#abstract)\n* [**overview**](#overview--derivations)\n* [**main results**](#main-results)\n* [**getting started**](#getting-started)\n* [**star history**](#star-history)\n* [**citation**](#citation)\n* [**acknowledgment**](#acknowledgment)\n\n## :white_check_mark: Updates\n* **`June. 14th, 2024`**: Update: we clean the code to be easier to read; we add support for `mamba2`.\n* **`May. 26th, 2024`**: Update: we release the updated weights of VMambav2, together with the new arxiv paper.\n* **`May. 7th, 2024`**: Update: **Important!** using `torch.backends.cudnn.enabled=True` in downstream tasks may be quite slow. If you found vmamba quite slow in your machine, disable it in vmamba.py, else, ignore this.\n* **...**\n\n***for details see [detailed_updates.md](assets/detailed_updates.md)***\n\n## Abstract\n\nDesigning computationally efficient network architectures persists as an ongoing necessity in computer vision. In this paper, we transplant Mamba, a state-space language model, into VMamba, a vision backbone that works in linear time complexity. At the core of VMamba lies a stack of Visual State-Space (VSS) blocks with the 2D Selective Scan (SS2D) module. By traversing along four scanning routes, SS2D helps bridge the gap between the ordered nature of 1D selective scan and the non-sequential structure of 2D vision data, which facilitates the gathering of contextual information from various sources and perspectives. Based on the VSS blocks, we develop a family of VMamba architectures and accelerate them through a succession of architectural and implementation enhancements. Extensive experiments showcase VMamba’s promising performance across diverse visual perception tasks, highlighting its advantages in input scaling efficiency compared to existing benchmark models.\n\n## Overview\n\n* [**VMamba**](https://arxiv.org/abs/2401.10166) serves as a general-purpose backbone for computer vision.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/architecture.png\" alt=\"architecture\" width=\"80%\"\u003e\n\u003c/p\u003e\n\n* **2D-Selective-Scan of VMamba**\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/ss2d.png\" alt=\"arch\" width=\"80%\"\u003e\n\u003c/p\u003e\n\n* **VMamba has global effective receptive field**\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/erf.png\" alt=\"erf\" width=\"80%\"\u003e\n\u003c/p\u003e\n\n* **VMamba resembles Transformer-Based Methods in Activation Map**\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/attn.png\" alt=\"attn\" width=\"80%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/activation_map.png\" alt=\"activation\" width=\"80%\"\u003e\n\u003c/p\u003e\n\n## Main Results\n\u003c!-- copied from assets/performance.md  --\u003e\n\n\u003c!-- :book: --\u003e\n\u003c!-- ***The checkpoints of some of the models listed below will be released in weeks!*** --\u003e\n\n:book:\n***For details see [performance.md](./assets/performance.md).***\n\n### **Classification on ImageNet-1K**\n| name | pretrain | resolution |acc@1 | #params | FLOPs | TP. | Train TP. | configs/logs/ckpts |\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n| Swin-T | ImageNet-1K | 224x224 | 81.2 | 28M | 4.5G | 1244 |987 | -- |\n| Swin-S | ImageNet-1K | 224x224 | 83.2 | 50M | 8.7G | 718 |642 | -- |\n| Swin-B | ImageNet-1K | 224x224 | 83.5 | 88M | 15.4G | 458 |496 | -- |\n| VMamba-S[`s2l15`] | ImageNet-1K | 224x224 | 83.6 | 50M | 8.7G | 877 | 314| [config](classification/configs/vssm/vmambav2_small_224.yaml)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2cls/vssm_small_0229.txt)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2cls/vssm_small_0229_ckpt_epoch_222.pth) |\n| VMamba-B[`s2l15`] | ImageNet-1K | 224x224 | 83.9 | 89M | 15.4G | 646 | 247 | [config](classification/configs/vssm/vmambav2_base_224.yaml)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2cls/vssm_base_0229.txt)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2cls/vssm_base_0229_ckpt_epoch_237.pth) |\n| VMamba-T[`s1l8`] | ImageNet-1K | 224x224 | 82.6 | 30M | 4.9G | 1686| 571| [config](classification/configs/vssm/vmambav2v_tiny_224.yaml)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2cls/vssm1_tiny_0230s.txt)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2cls/vssm1_tiny_0230s_ckpt_epoch_264.pth) |\n\n\n* *Models in this subsection is trained from scratch with random or manual initialization. The hyper-parameters are inherited from Swin, except for `drop_path_rate` and `EMA`. All models are trained with EMA except for the `Vanilla-VMamba-T`.*\n* *`TP.(Throughput)` and `Train TP. (Train Throughput)` are assessed on an A100 GPU paired with an AMD EPYC 7542 CPU, with batch size 128. `Train TP.` is tested with mix-resolution, excluding the time consumption of optimizers.*\n* *`FLOPs` and `parameters` are now gathered with `head` (In previous versions, they were counted without head, so the numbers raise a little bit).*\n* *we calculate `FLOPs` with the algorithm @albertgu [provides](https://github.com/state-spaces/mamba/issues/110), which will be bigger than previous calculation (which is based on the `selective_scan_ref` function, and ignores the hardware-aware algorithm).*\n\n\n### **Object Detection on COCO**\n  \n| Backbone | #params | FLOPs | Detector | bboxAP | bboxAP50 | bboxAP75 | segmAP | segmAP50 | segmAP75 | configs/logs/ckpts |\n| :---: | :---: | :---: | :---: | :---: | :---: |:---: |:---: |:---: |:---: |:---: |\n| Swin-T | 48M | 267G | MaskRCNN@1x | 42.7 |65.2 |46.8 |39.3 |62.2 |42.2 |-- |\n| Swin-S | 69M | 354G | MaskRCNN@1x | 44.8 |66.6 |48.9 |40.9 |63.4 |44.2 |-- |-- |\n| Swin-B | 107M | 496G | MaskRCNN@1x | 46.9|--|--| 42.3|--|--|-- |-- |\n| VMamba-S[`s2l15`] | 70M | 384G | MaskRCNN@1x | 48.7 |70.0 |53.4 |43.7 |67.3 |47.0 | [config](detection/configs/vssm1/mask_rcnn_vssm_fpn_coco_small.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_small.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_small_epoch_11.pth) |\n| VMamba-B[`s2l15`] | 108M | 485G | MaskRCNN@1x | 49.2 |71.4 |54.0 |44.1 |68.3 |47.7 | [config](detection/configs/vssm1/mask_rcnn_vssm_fpn_coco_base.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_base.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_base_epoch_11.pth) |\n| VMamba-B[`s2l15`] | 108M | 485G | MaskRCNN@1x[`bs8`] | 49.2 |70.9 |53.9 |43.9 |67.7 |47.6 | [config](detection/configs/vssm1/mask_rcnn_vssm_fpn_coco_base.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_base_bs8.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_base_epoch_12_bs8.pth) |\n| VMamba-T[`s1l8`] | 50M | 271G | MaskRCNN@1x | 47.3 |69.3 |52.0 |42.7 |66.4 |45.9 | [config](detection/configs/vssm1/mask_rcnn_vssm_fpn_coco_tiny.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_tiny_s.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_tiny_s_epoch_12.pth) |\n| :---: | :---: | :---: | :---: | :---: | :---: |:---: |:---: |:---: |:---: |:---: |:---: |:---: |\n| Swin-T | 48M | 267G | MaskRCNN@3x | 46.0 |68.1 |50.3 |41.6 |65.1 |44.9 |-- |\n| Swin-S | 69M | 354G | MaskRCNN@3x | 48.2 |69.8 |52.8 |43.2 |67.0 |46.1  |-- |\n| VMamba-S[`s2l15`] | 70M | 384G | MaskRCNN@3x | 49.9 |70.9 |54.7 |44.20 |68.2 |47.7 | [config](detection/configs/vssm1/mask_rcnn_vssm_fpn_coco_small_ms_3x.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_small_ms_3x.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_small_ms_3x_epoch_32.pth) |\n| VMamba-T[`s1l8`] | 50M | 271G | MaskRCNN@3x | 48.8 |70.4 |53.50 |43.7 |67.4 |47.0 | [config](detection/configs/vssm1/mask_rcnn_vssm_fpn_coco_tiny_ms_3x.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_tiny_ms_3x_s.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2det/mask_rcnn_vssm_fpn_coco_tiny_ms_3x_s_epoch_31.pth) |\n\n\n* *Models in this subsection is initialized from the models trained in `classfication`.*\n* *we now calculate FLOPs with the algrithm @albertgu [provides](https://github.com/state-spaces/mamba/issues/110), which will be bigger than previous calculation (which is based on the `selective_scan_ref` function, and ignores the hardware-aware algrithm).*\n\n### **Semantic Segmentation on ADE20K**\n\n| Backbone | Input|  #params | FLOPs | Segmentor | mIoU(SS) | mIoU(MS) | configs/logs/logs(ms)/ckpts |\n| :---: | :---: | :---: | :---: | :---: | :---: |:---: |:---: |\n| Swin-T | 512x512 | 60M | 945G | UperNet@160k | 44.4| 45.8| -- |\n| Swin-S | 512x512 | 81M | 1039G | UperNet@160k | 47.6| 49.5| -- |\n| Swin-B | 512x512 | 121M | 1188G | UperNet@160k | 48.1| 49.7|-- |\n| VMamba-S[`s2l15`] | 512x512 | 82M | 1028G | UperNet@160k | 50.6| 51.2|[config](segmentation/configs/vssm1/upernet_vssm_4xb4-160k_ade20k-512x512_small.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_small.log)/[log(ms)](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_small_tta.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_small_iter_144000.pth) |\n| VMamba-B[`s2l15`] | 512x512 | 122M | 1170G | UperNet@160k | 51.0| 51.6|[config](segmentation/configs/vssm1/upernet_vssm_4xb4-160k_ade20k-512x512_base.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_base.log)/[log(ms)](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_base_tta.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_base_iter_160000.pth) |\n| VMamba-T[`s1l8`] | 512x512 | 62M | 949G | UperNet@160k | 47.9| 48.8| [config](segmentation/configs/vssm1/upernet_vssm_4xb4-160k_ade20k-512x512_tiny.py)/[log](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_tiny_s.log)/[log(ms)](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_tiny_s_tta.log)/[ckpt](https://github.com/MzeroMiko/VMamba/releases/download/%23v2seg/upernet_vssm_4xb4-160k_ade20k-512x512_tiny_s_iter_160000.pth) |\n\n\n* *Models in this subsection is initialized from the models trained in `classfication`.*\n* *we now calculate FLOPs with the algrithm @albertgu [provides](https://github.com/state-spaces/mamba/issues/110), which will be bigger than previous calculation (which is based on the `selective_scan_ref` function, and ignores the hardware-aware algrithm).*\n\n## Getting Started\n\n### Installation\n\n**Step 1: Clone the VMamba repository:**\n\nTo get started, first clone the VMamba repository and navigate to the project directory:\n\n```bash\ngit clone https://github.com/MzeroMiko/VMamba.git\ncd VMamba\n```\n\n**Step 2: Environment Setup:**\n\nVMamba recommends setting up a conda environment and installing dependencies via pip. Use the following commands to set up your environment:\nAlso, We recommend using the pytorch\u003e=2.0, cuda\u003e=11.8. But lower version of pytorch and CUDA are also supported.\n\n***Create and activate a new conda environment***\n\n```bash\nconda create -n vmamba\nconda activate vmamba\n```\n\n***Install Dependencies***\n\n```bash\npip install -r requirements.txt\ncd kernels/selective_scan \u0026\u0026 pip install .\n```\n\u003c!-- cd kernels/cross_scan \u0026\u0026 pip install . --\u003e\n\n***Check Selective Scan (optional)***\n\n* If you want to check the modules compared with `mamba_ssm`, install [`mamba_ssm`](https://github.com/state-spaces/mamba) first!\n\n* If you want to check if the implementation of `selective scan` of ours is the same with `mamba_ssm`, `selective_scan/test_selective_scan.py` is here for you. Change to `MODE = \"mamba_ssm_sscore\"` in `selective_scan/test_selective_scan.py`, and run `pytest selective_scan/test_selective_scan.py`.\n\n* If you want to check if the implementation of `selective scan` of ours is the same with reference code (`selective_scan_ref`), change to `MODE = \"sscore\"` in `selective_scan/test_selective_scan.py`, and run `pytest selective_scan/test_selective_scan.py`.\n\n* `MODE = \"mamba_ssm\"` stands for checking whether the results of `mamba_ssm` is close to `selective_scan_ref`, and `\"sstest\"` is preserved for development. \n\n* If you find `mamba_ssm` (`selective_scan_cuda`) or `selective_scan` ( `selctive_scan_cuda_core`) is not close enough to `selective_scan_ref`, and the test failed, do not worry. Check if `mamba_ssm` and `selective_scan` are close enough [instead](https://github.com/state-spaces/mamba/pull/161).\n\n* ***If you are interested in selective scan, you can check [mamba](https://github.com/state-spaces/mamba), [mamba-mini](https://github.com/MzeroMiko/mamba-mini), [mamba.py](https://github.com/alxndrTL/mamba.py) [mamba-minimal](https://github.com/johnma2006/mamba-minimal) for more information.***\n\n***Dependencies for `Detection` and `Segmentation` (optional)***\n\n```bash\npip install mmengine==0.10.1 mmcv==2.1.0 opencv-python-headless ftfy regex\npip install mmdet==3.3.0 mmsegmentation==1.2.2 mmpretrain==1.2.0\n```\n\n### Model Training and Inference\n\n**Classification**\n\nTo train VMamba models for classification on ImageNet, use the following commands for different configurations:\n\n```bash\npython -m torch.distributed.launch --nnodes=1 --node_rank=0 --nproc_per_node=8 --master_addr=\"127.0.0.1\" --master_port=29501 main.py --cfg \u003c/path/to/config\u003e --batch-size 128 --data-path \u003c/path/of/dataset\u003e --output /tmp\n```\n\nIf you only want to test the performance (together with params and flops):\n\n```bash\npython -m torch.distributed.launch --nnodes=1 --node_rank=0 --nproc_per_node=1 --master_addr=\"127.0.0.1\" --master_port=29501 main.py --cfg \u003c/path/to/config\u003e --batch-size 128 --data-path \u003c/path/of/dataset\u003e --output /tmp --pretrained \u003c/path/of/checkpoint\u003e\n```\n\n***please refer to [modelcard](./modelcard.sh) for more details.***\n\n**Detection and Segmentation**\n\nTo evaluate with `mmdetection` or `mmsegmentation`:\n```bash\nbash ./tools/dist_test.sh \u003c/path/to/config\u003e \u003c/path/to/checkpoint\u003e 1\n```\n*use `--tta` to get the `mIoU(ms)` in segmentation*\n\nTo train with `mmdetection` or `mmsegmentation`:\n```bash\nbash ./tools/dist_train.sh \u003c/path/to/config\u003e 8\n```\n\nFor more information about detection and segmentation tasks, please refer to the manual of [`mmdetection`](https://mmdetection.readthedocs.io/en/latest/user_guides/train.html) and [`mmsegmentation`](https://mmsegmentation.readthedocs.io/en/latest/user_guides/4_train_test.html). Remember to use the appropriate backbone configurations in the `configs` directory.\n\n### Analysis Tools\n\nVMamba includes tools for visualizing mamba \"attention\" and effective receptive field, analysing throughput and train-throughput. Use the following commands to perform analysis:\n\n```bash\n# Visualize Mamba \"Attention\"\nCUDA_VISIBLE_DEVICES=0 python analyze/attnmap.py\n\n# Analyze the effective receptive field\nCUDA_VISIBLE_DEVICES=0 python analyze/erf.py\n\n# Analyze the throughput and train throughput\nCUDA_VISIBLE_DEVICES=0 python analyze/tp.py\n\n```\n\n***We also included other analysing tools that we may use in this project. Thanks to all who have contributes to these tools.***\n\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=MzeroMiko/VMamba\u0026type=Date)](https://star-history.com/#MzeroMiko/VMamba\u0026Date)\n\n## Citation\n\n```\n@article{liu2024vmamba,\n  title={VMamba: Visual State Space Model},\n  author={Liu, Yue and Tian, Yunjie and Zhao, Yuzhong and Yu, Hongtian and Xie, Lingxi and Wang, Yaowei and Ye, Qixiang and Liu, Yunfan},\n  journal={arXiv preprint arXiv:2401.10166},\n  year={2024}\n}\n```\n\n## Acknowledgment\n\nThis project is based on Mamba ([paper](https://arxiv.org/abs/2312.00752), [code](https://github.com/state-spaces/mamba)), Swin-Transformer ([paper](https://arxiv.org/pdf/2103.14030.pdf), [code](https://github.com/microsoft/Swin-Transformer)), ConvNeXt ([paper](https://arxiv.org/abs/2201.03545), [code](https://github.com/facebookresearch/ConvNeXt)), [OpenMMLab](https://github.com/open-mmlab),\nand the `analyze/get_erf.py` is adopted from [replknet](https://github.com/DingXiaoH/RepLKNet-pytorch/tree/main/erf), thanks for their excellent works.\n\n* **We release [Fast-iTPN](https://github.com/sunsmarterjie/iTPN/tree/main/fast_itpn) recently, which reports the best performance on ImageNet-1K at Tiny/Small/Base level models as far as we know. (Tiny-24M-86.5%, Small-40M-87.8%, Base-85M-88.75%)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMzeroMiko%2FVMamba","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMzeroMiko%2FVMamba","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMzeroMiko%2FVMamba/lists"}