File size: 5,532 Bytes
7a7ea0b
 
 
 
6f9a97e
7a7ea0b
5d73fcd
6f9a97e
5d73fcd
 
03c664a
 
5d73fcd
 
 
7a7ea0b
 
f673cf6
7a7ea0b
03c664a
7a7ea0b
f673cf6
03c664a
6f9a97e
03c664a
 
 
 
 
 
 
6f9a97e
03c664a
 
 
 
7a7ea0b
 
03c664a
 
 
 
 
6f9a97e
03c664a
6f9a97e
03c664a
6f9a97e
03c664a
 
 
 
 
 
 
 
7a7ea0b
 
6f9a97e
03c664a
 
 
6f9a97e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
03c664a
 
 
6f9a97e
03c664a
6f9a97e
03c664a
 
 
 
 
 
 
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_b3.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_b3_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_b3.in1k).

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