# EfficientViM

**Categoría:** Efficient/Mobile · **Código:** [`timm/models/efficientvim.py`](https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/efficientvim.py) · **Arquitecturas:** 8 · **Pesos preentrenados:** 12 (0 con resultados en ImageNet-1k)

Efficient Vision Mamba (EfficientViM) se basa en la capa Hidden State Mixer based State Space Duality (HSM-SSD), implementada aquí en PyTorch puro. Los modelos `_dist` añaden una cabeza de destilación.

## Papers

* [EfficientViM: Efficient Vision Mamba con mezclador de estado oculto basado en dualidad de espacio de estado](https://arxiv.org/abs/2411.15241)

## Uso

Consulte la [Introducción rápida](../quickstart) para cargar pesos preentrenados, preprocesar imágenes y realizar el ajuste fino, y [Extracción de características](../feature_extraction) para usar los modelos como columnas verticales.

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

## Soporte de la API de modelos

| Característica | `EfficientViM` | `EfficientViMDistilled` |
|---|---|---|
| [mapas de características de `features_only=True`](../model_api#intermediate-features) | ✓ (pasos 16, 32, 64) | ✓ (pasos 16, 32, 64) |
| [`forward_intermediates()`](../model_api#intermediate-features) | ✓ | ✓ |
| [`prune_intermediate_layers()`](../model_api#intermediate-features) | ✓ | ✓ |
| [Cualquier tamaño de entrada, no se necesitan cambios](../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) | ✓ | ✓ |
| [Decaimiento del LR por capa (`group_matcher()`)](../model_api#training-hooks) | ✓ | ✓ |
| [`reset_classifier()`](../model_api#classifier) | ✓ | ✓ |

✓ compatible, ✓ (cuadrado) funciona solo con tamaños cuadrados, ✗ no compatible, – no necesario (el modelo ya acepta cualquier tamaño de entrada). Verificado ejecutando cada función en un modelo inicializado aleatoriamente (`EfficientViM` con `efficientvim_m1` en 224, `EfficientViMDistilled` con `efficientvim_m1_dist` en 224); se espera que otras arquitecturas de la misma clase se comporten de la misma manera. Consulte la página [Model API](../model_api) para más detalles.

## Arquitecturas

| Arquitectura | Clase | Parámetros (M) | GMACs | Tamaño de entrada | Pesos preentrenados |
|---|---|---:|---:|---:|---:|
| `efficientvim_m1` | `EfficientViM` | 6.68 | - | 224 | 2 |
| `efficientvim_m1_dist` | `EfficientViMDistilled` | 7.64 | - | 224 | 1 |
| `efficientvim_m2` | `EfficientViM` | 13.90 | - | 224 | 2 |
| `efficientvim_m2_dist` | `EfficientViMDistilled` | 15.32 | - | 224 | 1 |
| `efficientvim_m3` | `EfficientViM` | 16.60 | - | 224 | 2 |
| `efficientvim_m3_dist` | `EfficientViMDistilled` | 18.18 | - | 224 | 1 |
| `efficientvim_m4` | `EfficientViM` | 19.61 | - | 256 | 2 |
| `efficientvim_m4_dist` | `EfficientViMDistilled` | 21.18 | - | 256 | 1 |

Los GMAC y el número de parámetros corresponden al tamaño de entrada y al clasificador predeterminados de cada arquitectura, según los [resultados de las pruebas de rendimiento](https://github.com/huggingface/pytorch-image-models/tree/main/results).

## Pesos preentrenados

Top-1 es la precisión de validación en ImageNet-1k desde [`results-imagenet.csv`](https://github.com/huggingface/pytorch-image-models/blob/main/results/results-imagenet.csv) en el tamaño de evaluación indicado, - si el peso no tiene un resultado de ImageNet-1k (p. ej. pesos de preentrenamiento o de imagen-texto). Classes es el tamaño del clasificador preentrenado, ninguno para pesos sin uno.

| Peso | Tamaño de entrada | Top-1 (%) | Tamaño de evaluación | Clases | Licencia | Hub |
|---|---:|---:|---:|---:|---|---|
| `efficientvim_m1.e300_in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m1.e300_in1k) |
| `efficientvim_m1.e450_in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m1.e450_in1k) |
| `efficientvim_m1_dist.in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m1_dist.in1k) |
| `efficientvim_m2.e300_in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m2.e300_in1k) |
| `efficientvim_m2.e450_in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m2.e450_in1k) |
| `efficientvim_m2_dist.in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m2_dist.in1k) |
| `efficientvim_m3.e300_in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m3.e300_in1k) |
| `efficientvim_m3.e450_in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m3.e450_in1k) |
| `efficientvim_m3_dist.in1k` | 224 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m3_dist.in1k) |
| `efficientvim_m4.e300_in1k` | 256 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m4.e300_in1k) |
| `efficientvim_m4.e450_in1k` | 256 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m4.e450_in1k) |
| `efficientvim_m4_dist.in1k` | 256 | - | - | 1000 | mit | [timm](https://huggingface.co/timm/efficientvim_m4_dist.in1k) |

