File size: 5,888 Bytes
9fc2618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9cd4776
9fc2618
 
 
9cd4776
9fc2618
 
9cd4776
9fc2618
 
9cd4776
 
 
 
 
 
 
9fc2618
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---

pipeline_tag: image-classification
license: apache-2.0
base_model: facebook/regnet-x-120
library_name: zeromodels
tags:
- keras
- zeromodels
- image-classification
- regnet
- backbone
- arxiv:2003.13678
- pytorch
- jax
- tf
---


## ***See [our collection](https://huggingface.co/collections/zeromodels/regnet-6a9270a4e723a861ea988d0b) for all versions of RegNet.***

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

# zeromodels/regnet-x-120

Paper: [Designing Network Design Spaces (arXiv:2003.13678)](https://arxiv.org/abs/2003.13678) · [HF Papers](https://huggingface.co/papers/2003.13678)

RegNet is a family of ConvNets whose per-stage widths and depths follow a simple quantized-linear rule. This is the **X** variant: a 3x3 stride-2 stem then four stages of `1x1 -> 3x3 grouped -> [SE] -> 1x1` residual blocks. Use as an ImageNet classifier or a 4-stage backbone.

For more details on the model, please go to the upstream [model card](https://huggingface.co/facebook/regnet-x-120).

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

This is an **image-classification / backbone** checkpoint (`RegNetImageClassify` / `RegNetModel`).

## ✨ Quick start

```python

import os



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



from PIL import Image

from zeromodels.models.regnet import RegNetImageClassify, RegNetModel, RegNetImageProcessor



model = RegNetImageClassify.from_weights("zeromodels/regnet-x-120")

processor = RegNetImageProcessor.from_weights("zeromodels/regnet-x-120")



image = Image.open("your_image.jpg").convert("RGB")

pixels = processor(image)  # resize + normalize (normalization lives in the processor)

logits = model(pixels, training=False)

print(logits.shape)  # (1, num_classes)



# Feature extraction: the backbone without the classifier head

backbone = RegNetModel.from_weights("zeromodels/regnet-x-120", as_backbone=True)

features = backbone(pixels, training=False)

```

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

| Variant | Hub |
|---|---|
| `regnet-x-002` | [`zeromodels/regnet-x-002`](https://huggingface.co/zeromodels/regnet-x-002) |
| `regnet-x-004` | [`zeromodels/regnet-x-004`](https://huggingface.co/zeromodels/regnet-x-004) |
| `regnet-x-006` | [`zeromodels/regnet-x-006`](https://huggingface.co/zeromodels/regnet-x-006) |
| `regnet-x-008` | [`zeromodels/regnet-x-008`](https://huggingface.co/zeromodels/regnet-x-008) |
| `regnet-x-016` | [`zeromodels/regnet-x-016`](https://huggingface.co/zeromodels/regnet-x-016) |
| `regnet-x-032` | [`zeromodels/regnet-x-032`](https://huggingface.co/zeromodels/regnet-x-032) |
| `regnet-x-040` | [`zeromodels/regnet-x-040`](https://huggingface.co/zeromodels/regnet-x-040) |
| `regnet-x-064` | [`zeromodels/regnet-x-064`](https://huggingface.co/zeromodels/regnet-x-064) |
| `regnet-x-080` | [`zeromodels/regnet-x-080`](https://huggingface.co/zeromodels/regnet-x-080) |
| `regnet-x-120` | [`zeromodels/regnet-x-120`](https://huggingface.co/zeromodels/regnet-x-120) |
| `regnet-x-160` | [`zeromodels/regnet-x-160`](https://huggingface.co/zeromodels/regnet-x-160) |
| `regnet-x-320` | [`zeromodels/regnet-x-320`](https://huggingface.co/zeromodels/regnet-x-320) |
| `regnet-y-002` | [`zeromodels/regnet-y-002`](https://huggingface.co/zeromodels/regnet-y-002) |
| `regnet-y-004` | [`zeromodels/regnet-y-004`](https://huggingface.co/zeromodels/regnet-y-004) |
| `regnet-y-006` | [`zeromodels/regnet-y-006`](https://huggingface.co/zeromodels/regnet-y-006) |
| `regnet-y-008` | [`zeromodels/regnet-y-008`](https://huggingface.co/zeromodels/regnet-y-008) |
| `regnet-y-016` | [`zeromodels/regnet-y-016`](https://huggingface.co/zeromodels/regnet-y-016) |
| `regnet-y-032` | [`zeromodels/regnet-y-032`](https://huggingface.co/zeromodels/regnet-y-032) |
| `regnet-y-040` | [`zeromodels/regnet-y-040`](https://huggingface.co/zeromodels/regnet-y-040) |
| `regnet-y-064` | [`zeromodels/regnet-y-064`](https://huggingface.co/zeromodels/regnet-y-064) |
| `regnet-y-080` | [`zeromodels/regnet-y-080`](https://huggingface.co/zeromodels/regnet-y-080) |
| `regnet-y-120` | [`zeromodels/regnet-y-120`](https://huggingface.co/zeromodels/regnet-y-120) |
| `regnet-y-160` | [`zeromodels/regnet-y-160`](https://huggingface.co/zeromodels/regnet-y-160) |
| `regnet-y-320` | [`zeromodels/regnet-y-320`](https://huggingface.co/zeromodels/regnet-y-320) |

## Tips

- Set `KERAS_BACKEND` **before** importing Keras / zeromodels.
- `RegNetImageClassify` returns class logits; `RegNetModel` returns features (`as_backbone=True` for multi-scale stages at strides 4, 8, 16, 32).
- Normalization is baked in (`include_normalization=True`): pass raw `[0, 255]` pixels.
- Both `channels_last` and `channels_first` are supported (bit-exact); set the format before building.
- See [docs](https://imvision12.github.io/ZeroModels/regnet/) and [Loading Weights](https://imvision12.github.io/ZeroModels/loading_weights/).
- Upstream checkpoints: `RegNetImageClassify.from_weights("hf:facebook/regnet-x-120")`.

## Special Thanks

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

License: see YAML `license` (matches the upstream checkpoint: apache-2.0).