File size: 7,899 Bytes
8f9f6db
 
 
 
fc32aa9
8f9f6db
58f1226
fc32aa9
58f1226
 
1e1a6b9
 
58f1226
 
 
8f9f6db
 
a0c9fa3
8f9f6db
1e1a6b9
8f9f6db
a0c9fa3
1e1a6b9
fc32aa9
1e1a6b9
 
 
 
 
 
 
fc32aa9
1e1a6b9
 
 
 
8f9f6db
 
1e1a6b9
 
 
 
 
fc32aa9
1e1a6b9
fc32aa9
1e1a6b9
fc32aa9
1e1a6b9
 
 
 
 
 
 
 
8f9f6db
 
fc32aa9
1e1a6b9
 
 
fc32aa9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1e1a6b9
 
 
fc32aa9
1e1a6b9
fc32aa9
1e1a6b9
 
 
 
 
 
 
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
---
pipeline_tag: image-classification
license: apache-2.0
base_model: timm/tf_efficientnet_b7.aa_in1k
library_name: zeromodels
tags:
- keras
- zeromodels
- image-classification
- efficientnet
- backbone
- arxiv:1905.11946
- pytorch
- jax
- tf
---

## ***See [our collection](https://huggingface.co/collections/zeromodels/efficientnet-6a8eae835b72b040c1fb77b3) for all versions of EfficientNet.***

# Run EfficientNet 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-EfficientNet-blue)](https://imvision12.github.io/ZeroModels/classification_backbones/) [![Collection](https://img.shields.io/badge/HF-EfficientNet%20collection-yellow)](https://huggingface.co/collections/zeromodels/efficientnet-6a8eae835b72b040c1fb77b3)

# zeromodels/tf_efficientnet_b7_aa_in1k

Paper: [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (arXiv:1905.11946)](https://arxiv.org/abs/1905.11946) · [HF Papers](https://huggingface.co/papers/1905.11946)

EfficientNet compound-scales depth/width/resolution for strong accuracy/efficiency. Classifier or multi-scale MBConv backbone.

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

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

This is an **image-classification / backbone** checkpoint (`EfficientNetImageClassify` / `EfficientNetModel`).

## ✨ Quick start

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

from PIL import Image
import numpy as np
from zeromodels.models.efficientnet import EfficientNetImageClassify, EfficientNetModel

model = EfficientNetImageClassify.from_weights("zeromodels/tf_efficientnet_b7_aa_in1k")
backbone = EfficientNetModel.from_weights(
    "zeromodels/tf_efficientnet_b7_aa_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 EfficientNet variant the same way with `from_weights("zeromodels/<variant>")`:

| Variant | Hub |
|---|---|
| `tf_efficientnet_b0_aa_in1k` | [`zeromodels/tf_efficientnet_b0_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b0_aa_in1k) |
| `tf_efficientnet_b0_ap_in1k` | [`zeromodels/tf_efficientnet_b0_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b0_ap_in1k) |
| `tf_efficientnet_b0_in1k` | [`zeromodels/tf_efficientnet_b0_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b0_in1k) |
| `tf_efficientnet_b0_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b0_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b0_ns_jft_in1k) |
| `tf_efficientnet_b1_aa_in1k` | [`zeromodels/tf_efficientnet_b1_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b1_aa_in1k) |
| `tf_efficientnet_b1_ap_in1k` | [`zeromodels/tf_efficientnet_b1_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b1_ap_in1k) |
| `tf_efficientnet_b1_in1k` | [`zeromodels/tf_efficientnet_b1_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b1_in1k) |
| `tf_efficientnet_b1_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b1_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b1_ns_jft_in1k) |
| `tf_efficientnet_b2_aa_in1k` | [`zeromodels/tf_efficientnet_b2_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b2_aa_in1k) |
| `tf_efficientnet_b2_ap_in1k` | [`zeromodels/tf_efficientnet_b2_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b2_ap_in1k) |
| `tf_efficientnet_b2_in1k` | [`zeromodels/tf_efficientnet_b2_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b2_in1k) |
| `tf_efficientnet_b2_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b2_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b2_ns_jft_in1k) |
| `tf_efficientnet_b3_aa_in1k` | [`zeromodels/tf_efficientnet_b3_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b3_aa_in1k) |
| `tf_efficientnet_b3_ap_in1k` | [`zeromodels/tf_efficientnet_b3_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b3_ap_in1k) |
| `tf_efficientnet_b3_in1k` | [`zeromodels/tf_efficientnet_b3_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b3_in1k) |
| `tf_efficientnet_b3_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b3_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b3_ns_jft_in1k) |
| `tf_efficientnet_b4_aa_in1k` | [`zeromodels/tf_efficientnet_b4_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b4_aa_in1k) |
| `tf_efficientnet_b4_ap_in1k` | [`zeromodels/tf_efficientnet_b4_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b4_ap_in1k) |
| `tf_efficientnet_b4_in1k` | [`zeromodels/tf_efficientnet_b4_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b4_in1k) |
| `tf_efficientnet_b4_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b4_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b4_ns_jft_in1k) |
| `tf_efficientnet_b5_aa_in1k` | [`zeromodels/tf_efficientnet_b5_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b5_aa_in1k) |
| `tf_efficientnet_b5_ap_in1k` | [`zeromodels/tf_efficientnet_b5_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b5_ap_in1k) |
| `tf_efficientnet_b5_in1k` | [`zeromodels/tf_efficientnet_b5_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b5_in1k) |
| `tf_efficientnet_b5_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b5_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b5_ns_jft_in1k) |
| `tf_efficientnet_b6_aa_in1k` | [`zeromodels/tf_efficientnet_b6_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b6_aa_in1k) |
| `tf_efficientnet_b6_ap_in1k` | [`zeromodels/tf_efficientnet_b6_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b6_ap_in1k) |
| `tf_efficientnet_b6_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b6_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b6_ns_jft_in1k) |
| `tf_efficientnet_b7_aa_in1k` | [`zeromodels/tf_efficientnet_b7_aa_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b7_aa_in1k) |
| `tf_efficientnet_b7_ap_in1k` | [`zeromodels/tf_efficientnet_b7_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b7_ap_in1k) |
| `tf_efficientnet_b7_ns_jft_in1k` | [`zeromodels/tf_efficientnet_b7_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b7_ns_jft_in1k) |
| `tf_efficientnet_b8_ap_in1k` | [`zeromodels/tf_efficientnet_b8_ap_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_b8_ap_in1k) |
| `tf_efficientnet_l2_ns_jft_in1k` | [`zeromodels/tf_efficientnet_l2_ns_jft_in1k`](https://huggingface.co/zeromodels/tf_efficientnet_l2_ns_jft_in1k) |
| `tf_efficientnet_l2_ns_jft_in1k_475` | [`zeromodels/tf_efficientnet_l2_ns_jft_in1k_475`](https://huggingface.co/zeromodels/tf_efficientnet_l2_ns_jft_in1k_475) |

## Tips

- Set `KERAS_BACKEND` **before** importing Keras / zeromodels.
- `EfficientNetImageClassify` returns class logits; `EfficientNetModel` 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: `EfficientNetImageClassify.from_weights("hf:timm/tf_efficientnet_b7.aa_in1k")`.

## Special Thanks

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

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