File size: 6,458 Bytes
5c30967
 
 
 
df97418
5c30967
 
df97418
5c30967
 
d535cd1
 
5c30967
d535cd1
5c30967
 
 
32f93cd
d535cd1
 
 
32f93cd
d535cd1
df97418
d535cd1
 
 
 
 
 
5c30967
df97418
5c30967
d535cd1
 
 
5c30967
 
d535cd1
 
5c30967
d535cd1
 
df97418
5c30967
df97418
d535cd1
df97418
d535cd1
5c30967
d535cd1
 
 
 
 
 
5c30967
 
df97418
d535cd1
 
 
df97418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d535cd1
 
 
df97418
d535cd1
df97418
d535cd1
 
 
 
 
 
 
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_in1k
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_in1k

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_in1k).

Pure-**Keras 3** conversion of [`timm/convnext_large.fb_in1k`](https://huggingface.co/timm/convnext_large.fb_in1k) 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_in1k")
backbone = ConvNeXtModel.from_weights(
    "zeromodels/convnext_large_fb_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 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_in1k")`.

## 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).