# EfficientViT (MSRA)

**类别：** Efficient/Mobile · **代码：** [`timm/models/efficientvit_msra.py`](https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/efficientvit_msra.py) · **架构：** 6 · **预训练权重：** 6（6 个具有 ImageNet-1k 结果）

来自 Microsoft Research 的 EfficientViT，一种采用级联分组注意力的内存高效视觉 Transformer，它为每个注意力头提供不同的特征划分。

## 论文

* [EfficientViT：采用级联组注意力的内存高效视觉 Transformer](https://arxiv.org/abs/2305.07027)

## 用法

请参阅[快速入门](../quickstart)了解如何加载预训练权重、进行图像预处理和微调，以及参阅[特征提取](../feature_extraction)了解如何将这些模型用作骨干网络。

```py
>>> import timm
>>> model = timm.create_model('efficientvit_m5.r224_in1k', pretrained=True)
>>> data_config = timm.data.resolve_model_data_config(model)
```

## 模型 API 支持

| 功能 | `EfficientVitMsra` |
|---|---|
| [`features_only=True` 特征图](../model_api#intermediate-features) | ✓（步长 16、32、64） |
| [`forward_intermediates()`](../model_api#intermediate-features) | ✓ |
| [`prune_intermediate_layers()`](../model_api#intermediate-features) | ✓ |
| [任意输入尺寸，无需更改](../model_api#input-size) | ✓ |
| [`set_input_size()`](../model_api#input-size) | ✓ |
| [`dynamic_img_size=True`](../model_api#input-size) | – |
| [`set_grad_checkpointing()`](../model_api#training-hooks) | ✓ |
| [逐层学习率衰减（`group_matcher()`）](../model_api#training-hooks) | ✓ |
| [`reset_classifier()`](../model_api#classifier) | ✓ |

✓ 支持，✓ (square) 仅支持方形尺寸，✗ 不支持，– 无需支持（模型本身已接受任意输入尺寸）。通过在每个功能上运行随机初始化的模型（`EfficientVitMsra` 使用 `efficientvit_m0`，尺寸为 224）进行验证，预期同一类的其他架构表现相同。详情请参阅 [Model API](../model_api) 页面。

## 架构

| 架构 | 参数（M） | GMAC | 输入大小 | 预训练权重 |
|---|---:|---:|---:|---:|
| `efficientvit_m0` | 2.33 | 0.08 | 224 | 1 |
| `efficientvit_m1` | 2.96 | 0.17 | 224 | 1 |
| `efficientvit_m2` | 4.17 | 0.20 | 224 | 1 |
| `efficientvit_m3` | 6.88 | 0.26 | 224 | 1 |
| `efficientvit_m4` | 8.78 | 0.30 | 224 | 1 |
| `efficientvit_m5` | 12.44 | 0.52 | 224 | 1 |

GMACs 和参数量对应于每种架构的默认输入大小和分类器，数据来自[基准测试结果](https://github.com/huggingface/pytorch-image-models/tree/main/results)。

## 预训练权重

Top-1 是在所列评估规模下，来自 [`results-imagenet.csv`](https://github.com/huggingface/pytorch-image-models/blob/main/results/results-imagenet.csv) 的 ImageNet-1k 验证准确率，- 表示该权重没有 ImageNet-1k 结果（例如预训练权重或图文权重）。Classes 是预训练分类器的大小，对于没有分类器的权重则为无。

| 权重 | 输入大小 | Top-1（%） | 评估大小 | 类 | 许可证 | Hub |
|---|---:|---:|---:|---:|---|---|
| `efficientvit_m0.r224_in1k` | 224 | 63.304 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/efficientvit_m0.r224_in1k) |
| `efficientvit_m1.r224_in1k` | 224 | 68.340 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/efficientvit_m1.r224_in1k) |
| `efficientvit_m2.r224_in1k` | 224 | 70.796 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/efficientvit_m2.r224_in1k) |
| `efficientvit_m3.r224_in1k` | 224 | 73.394 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/efficientvit_m3.r224_in1k) |
| `efficientvit_m4.r224_in1k` | 224 | 74.344 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/efficientvit_m4.r224_in1k) |
| `efficientvit_m5.r224_in1k` | 224 | 77.092 | 224 | 1000 | mit | [timm](https://huggingface.co/timm/efficientvit_m5.r224_in1k) |

