File size: 5,524 Bytes
bd92b97
 
 
 
b1afdaa
bd92b97
495e49c
b1afdaa
495e49c
 
847005b
 
495e49c
 
 
bd92b97
 
b2d7628
bd92b97
847005b
bd92b97
b2d7628
847005b
b1afdaa
847005b
 
 
 
 
 
 
b1afdaa
847005b
 
 
 
bd92b97
 
847005b
 
 
 
 
b1afdaa
847005b
b1afdaa
847005b
b1afdaa
847005b
 
 
 
 
 
 
 
bd92b97
 
b1afdaa
847005b
 
 
b1afdaa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
847005b
 
 
b1afdaa
847005b
b1afdaa
847005b
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
---
pipeline_tag: image-classification
license: apache-2.0
base_model: timm/tf_efficientnetv2_m.in1k
library_name: zeromodels
tags:
- keras
- zeromodels
- image-classification
- efficientnetv2
- backbone
- arxiv:2104.00298
- pytorch
- jax
- tf
---

## ***See [our collection](https://huggingface.co/collections/zeromodels/efficientnetv2-6a8eae77918224be1104752f) for all versions of EfficientNetV2.***

# Run EfficientNetV2 with Keras 3: JAX, PyTorch, or TensorFlow

[![GitHub](https://img.shields.io/badge/GitHub-ZeroModels-black?logo=github)](https://github.com/IMvision12/ZeroModels) [![Docs](https://img.shields.io/badge/Docs-EfficientNetV2-blue)](https://imvision12.github.io/ZeroModels/classification_backbones/) [![Collection](https://img.shields.io/badge/HF-EfficientNetV2%20collection-yellow)](https://huggingface.co/collections/zeromodels/efficientnetv2-6a8eae77918224be1104752f)

# zeromodels/tf_efficientnetv2_m_in1k

Paper: [EfficientNetV2: Smaller Models and Faster Training (arXiv:2104.00298)](https://arxiv.org/abs/2104.00298) · [HF Papers](https://huggingface.co/papers/2104.00298)

EfficientNetV2 trains faster with Fused-MBConv and progressive learning. Same ImageClassify / Model API as EfficientNet.

For more details on the model, please go to the upstream [model card](https://huggingface.co/timm/tf_efficientnetv2_m.in1k).

Pure-**Keras 3** conversion of [`timm/tf_efficientnetv2_m.in1k`](https://huggingface.co/timm/tf_efficientnetv2_m.in1k) for [zeromodels](https://github.com/IMvision12/ZeroModels). One implementation runs unmodified on **TensorFlow / Torch / JAX**.

This is an **image-classification / backbone** checkpoint (`EfficientNetV2ImageClassify` / `EfficientNetV2Model`).

## ✨ Quick start

```python
import os
os.environ["KERAS_BACKEND"] = "torch"  # or "jax" / "tensorflow"

from PIL import Image
import numpy as np
from zeromodels.models.efficientnetv2 import EfficientNetV2ImageClassify, EfficientNetV2Model

model = EfficientNetV2ImageClassify.from_weights("zeromodels/tf_efficientnetv2_m_in1k")
backbone = EfficientNetV2Model.from_weights(
    "zeromodels/tf_efficientnetv2_m_in1k", as_backbone=True
)

image = Image.open("your_image.jpg").convert("RGB")
image = image.resize((224, 224))
x = np.asarray(image, dtype="float32")[None]  # (1, H, W, 3)
print(model(x).shape)  # (1, num_classes)
feats = backbone(x)
print(len(feats), [tuple(f.shape) for f in feats])
```

Load any EfficientNetV2 variant the same way with `from_weights("zeromodels/<variant>")`:

| Variant | Hub |
|---|---|
| `tf_efficientnetv2_b0_in1k` | [`zeromodels/tf_efficientnetv2_b0_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_b0_in1k) |
| `tf_efficientnetv2_b1_in1k` | [`zeromodels/tf_efficientnetv2_b1_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_b1_in1k) |
| `tf_efficientnetv2_b2_in1k` | [`zeromodels/tf_efficientnetv2_b2_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_b2_in1k) |
| `tf_efficientnetv2_b3_in1k` | [`zeromodels/tf_efficientnetv2_b3_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_b3_in1k) |
| `tf_efficientnetv2_b3_in21k_ft_in1k` | [`zeromodels/tf_efficientnetv2_b3_in21k_ft_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_b3_in21k_ft_in1k) |
| `tf_efficientnetv2_l_in1k` | [`zeromodels/tf_efficientnetv2_l_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_l_in1k) |
| `tf_efficientnetv2_l_in21k` | [`zeromodels/tf_efficientnetv2_l_in21k`](https://huggingface.co/zeromodels/tf_efficientnetv2_l_in21k) |
| `tf_efficientnetv2_l_in21k_ft_in1k` | [`zeromodels/tf_efficientnetv2_l_in21k_ft_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_l_in21k_ft_in1k) |
| `tf_efficientnetv2_m_in1k` | [`zeromodels/tf_efficientnetv2_m_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_m_in1k) |
| `tf_efficientnetv2_m_in21k` | [`zeromodels/tf_efficientnetv2_m_in21k`](https://huggingface.co/zeromodels/tf_efficientnetv2_m_in21k) |
| `tf_efficientnetv2_m_in21k_ft_in1k` | [`zeromodels/tf_efficientnetv2_m_in21k_ft_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_m_in21k_ft_in1k) |
| `tf_efficientnetv2_s_in1k` | [`zeromodels/tf_efficientnetv2_s_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_s_in1k) |
| `tf_efficientnetv2_s_in21k` | [`zeromodels/tf_efficientnetv2_s_in21k`](https://huggingface.co/zeromodels/tf_efficientnetv2_s_in21k) |
| `tf_efficientnetv2_s_in21k_ft_in1k` | [`zeromodels/tf_efficientnetv2_s_in21k_ft_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_s_in21k_ft_in1k) |
| `tf_efficientnetv2_xl_in21k` | [`zeromodels/tf_efficientnetv2_xl_in21k`](https://huggingface.co/zeromodels/tf_efficientnetv2_xl_in21k) |
| `tf_efficientnetv2_xl_in21k_ft_in1k` | [`zeromodels/tf_efficientnetv2_xl_in21k_ft_in1k`](https://huggingface.co/zeromodels/tf_efficientnetv2_xl_in21k_ft_in1k) |

## Tips

- Set `KERAS_BACKEND` **before** importing Keras / zeromodels.
- `EfficientNetV2ImageClassify` returns class logits; `EfficientNetV2Model` returns features (`as_backbone=True` for multi-scale stages).
- See [docs](https://imvision12.github.io/ZeroModels/classification_backbones/) and [Loading Weights](https://imvision12.github.io/ZeroModels/loading_weights/).
- Upstream / timm checkpoints: `EfficientNetV2ImageClassify.from_weights("hf:timm/tf_efficientnetv2_m.in1k")`.

## Special Thanks

A huge thank you to the EfficientNetV2 authors and the timm / Hub communities for creating and releasing these models.

License: see YAML `license` (usually matches the upstream checkpoint).