regnet-y-016 / README.md
IMvision12's picture
Upload README.md with huggingface_hub
65f2cd7 verified
|
Raw
History Blame Contribute Delete
5.92 kB
---
pipeline_tag: image-classification
license: apache-2.0
base_model: facebook/regnet-y-016
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-y-016
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 **Y (with Squeeze-and-Excitation)** 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-y-016).
Pure-**Keras 3** conversion of [`facebook/regnet-y-016`](https://huggingface.co/facebook/regnet-y-016) 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-y-016")
processor = RegNetImageProcessor.from_weights("zeromodels/regnet-y-016")
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-y-016", 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-y-016")`.
## 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).