File size: 6,466 Bytes
5aca69a
 
 
 
c84e084
5aca69a
 
c84e084
5aca69a
 
1350525
 
5aca69a
1350525
5aca69a
 
 
f623942
1350525
 
 
f623942
1350525
c84e084
1350525
 
 
 
 
 
5aca69a
c84e084
5aca69a
1350525
 
 
5aca69a
 
1350525
 
5aca69a
1350525
 
c84e084
5aca69a
c84e084
1350525
c84e084
1350525
5aca69a
1350525
 
 
 
 
 
5aca69a
 
c84e084
1350525
 
 
c84e084
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1350525
 
 
c84e084
1350525
c84e084
1350525
 
 
 
 
 
 
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
---
pipeline_tag: image-classification
license: apache-2.0
base_model: timm/convnext_large.fb_in22k
library_name: zeromodels
tags:
- keras
- zeromodels
- image-classification
- convnext
- backbone
- arxiv:2201.03545
- pytorch
- jax
- tf
---

## ***See [our collection](https://huggingface.co/collections/zeromodels/convnext-6a8eaf1426a17001e2adc554) for all versions of ConvNeXt.***

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

# zeromodels/convnext_large_fb_in22k

Paper: [A ConvNet for the 2020s (arXiv:2201.03545)](https://arxiv.org/abs/2201.03545) · [HF Papers](https://huggingface.co/papers/2201.03545)

ConvNeXt modernizes a ResNet-style CNN with ViT-inspired design choices. Use as ImageNet classifier or 4-stage backbone.

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

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

This is an **image-classification / backbone** checkpoint (`ConvNeXtImageClassify` / `ConvNeXtModel`).

## ✨ Quick start

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

from PIL import Image
import numpy as np
from zeromodels.models.convnext import ConvNeXtImageClassify, ConvNeXtModel

model = ConvNeXtImageClassify.from_weights("zeromodels/convnext_large_fb_in22k")
backbone = ConvNeXtModel.from_weights(
    "zeromodels/convnext_large_fb_in22k", 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 ConvNeXt variant the same way with `from_weights("zeromodels/<variant>")`:

| Variant | Hub |
|---|---|
| `convnext_atto_d2_in1k` | [`zeromodels/convnext_atto_d2_in1k`](https://huggingface.co/zeromodels/convnext_atto_d2_in1k) |
| `convnext_base_fb_in1k` | [`zeromodels/convnext_base_fb_in1k`](https://huggingface.co/zeromodels/convnext_base_fb_in1k) |
| `convnext_base_fb_in22k` | [`zeromodels/convnext_base_fb_in22k`](https://huggingface.co/zeromodels/convnext_base_fb_in22k) |
| `convnext_base_fb_in22k_ft_in1k` | [`zeromodels/convnext_base_fb_in22k_ft_in1k`](https://huggingface.co/zeromodels/convnext_base_fb_in22k_ft_in1k) |
| `convnext_base_fb_in22k_ft_in1k_384` | [`zeromodels/convnext_base_fb_in22k_ft_in1k_384`](https://huggingface.co/zeromodels/convnext_base_fb_in22k_ft_in1k_384) |
| `convnext_femto_d1_in1k` | [`zeromodels/convnext_femto_d1_in1k`](https://huggingface.co/zeromodels/convnext_femto_d1_in1k) |
| `convnext_large_fb_in1k` | [`zeromodels/convnext_large_fb_in1k`](https://huggingface.co/zeromodels/convnext_large_fb_in1k) |
| `convnext_large_fb_in22k` | [`zeromodels/convnext_large_fb_in22k`](https://huggingface.co/zeromodels/convnext_large_fb_in22k) |
| `convnext_large_fb_in22k_ft_in1k` | [`zeromodels/convnext_large_fb_in22k_ft_in1k`](https://huggingface.co/zeromodels/convnext_large_fb_in22k_ft_in1k) |
| `convnext_large_fb_in22k_ft_in1k_384` | [`zeromodels/convnext_large_fb_in22k_ft_in1k_384`](https://huggingface.co/zeromodels/convnext_large_fb_in22k_ft_in1k_384) |
| `convnext_nano_d1h_in1k` | [`zeromodels/convnext_nano_d1h_in1k`](https://huggingface.co/zeromodels/convnext_nano_d1h_in1k) |
| `convnext_nano_in12k_ft_in1k` | [`zeromodels/convnext_nano_in12k_ft_in1k`](https://huggingface.co/zeromodels/convnext_nano_in12k_ft_in1k) |
| `convnext_pico_d1_in1k` | [`zeromodels/convnext_pico_d1_in1k`](https://huggingface.co/zeromodels/convnext_pico_d1_in1k) |
| `convnext_small_fb_in1k` | [`zeromodels/convnext_small_fb_in1k`](https://huggingface.co/zeromodels/convnext_small_fb_in1k) |
| `convnext_small_fb_in22k` | [`zeromodels/convnext_small_fb_in22k`](https://huggingface.co/zeromodels/convnext_small_fb_in22k) |
| `convnext_small_fb_in22k_ft_in1k` | [`zeromodels/convnext_small_fb_in22k_ft_in1k`](https://huggingface.co/zeromodels/convnext_small_fb_in22k_ft_in1k) |
| `convnext_small_fb_in22k_ft_in1k_384` | [`zeromodels/convnext_small_fb_in22k_ft_in1k_384`](https://huggingface.co/zeromodels/convnext_small_fb_in22k_ft_in1k_384) |
| `convnext_tiny_fb_in1k` | [`zeromodels/convnext_tiny_fb_in1k`](https://huggingface.co/zeromodels/convnext_tiny_fb_in1k) |
| `convnext_tiny_fb_in22k` | [`zeromodels/convnext_tiny_fb_in22k`](https://huggingface.co/zeromodels/convnext_tiny_fb_in22k) |
| `convnext_tiny_fb_in22k_ft_in1k` | [`zeromodels/convnext_tiny_fb_in22k_ft_in1k`](https://huggingface.co/zeromodels/convnext_tiny_fb_in22k_ft_in1k) |
| `convnext_tiny_fb_in22k_ft_in1k_384` | [`zeromodels/convnext_tiny_fb_in22k_ft_in1k_384`](https://huggingface.co/zeromodels/convnext_tiny_fb_in22k_ft_in1k_384) |
| `convnext_xlarge_fb_in22k` | [`zeromodels/convnext_xlarge_fb_in22k`](https://huggingface.co/zeromodels/convnext_xlarge_fb_in22k) |
| `convnext_xlarge_fb_in22k_ft_in1k` | [`zeromodels/convnext_xlarge_fb_in22k_ft_in1k`](https://huggingface.co/zeromodels/convnext_xlarge_fb_in22k_ft_in1k) |
| `convnext_xlarge_fb_in22k_ft_in1k_384` | [`zeromodels/convnext_xlarge_fb_in22k_ft_in1k_384`](https://huggingface.co/zeromodels/convnext_xlarge_fb_in22k_ft_in1k_384) |

## Tips

- Set `KERAS_BACKEND` **before** importing Keras / zeromodels.
- `ConvNeXtImageClassify` returns class logits; `ConvNeXtModel` 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: `ConvNeXtImageClassify.from_weights("hf:timm/convnext_large.fb_in22k")`.

## Special Thanks

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

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