File size: 5,524 Bytes
20bcbc7
 
 
 
d01a1cf
20bcbc7
4cc5903
d01a1cf
4cc5903
 
62ed87d
 
4cc5903
 
 
20bcbc7
 
2cb25a2
20bcbc7
62ed87d
20bcbc7
2cb25a2
62ed87d
d01a1cf
62ed87d
 
 
 
 
 
 
d01a1cf
62ed87d
 
 
 
20bcbc7
 
62ed87d
 
 
 
 
d01a1cf
62ed87d
d01a1cf
62ed87d
d01a1cf
62ed87d
 
 
 
 
 
 
 
20bcbc7
 
d01a1cf
62ed87d
 
 
d01a1cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62ed87d
 
 
d01a1cf
62ed87d
d01a1cf
62ed87d
 
 
 
 
 
 
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_s.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_s_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_s.in1k).

Pure-**Keras 3** conversion of [`timm/tf_efficientnetv2_s.in1k`](https://huggingface.co/timm/tf_efficientnetv2_s.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_s_in1k")
backbone = EfficientNetV2Model.from_weights(
    "zeromodels/tf_efficientnetv2_s_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_s.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).