Downloads · 30 days
18
23% of all-time downloads
zeromodels/mobilenetv4_conv_large_e600_r384_in1k
mobilenetv4_conv_large_e600_r384_in1k is a image classification model from zeromodels. Use it when you need a label for an image. It is set up for zeromodels. The card lists the license as apache-2.0.
[](https://github.com/IMvision12/ZeroModels) [](https://imvision12.github.io/ZeroModels/classificationbackbones/) [](https://huggingface.co/collections/zeromodels/mobilenetv4-6a8eadf61cad6938569a0d99)
Downloads · 30 days
18
23% of all-time downloads
All-time downloads
77
Public
Repo size
132 MB
Likes
0
Public
Click a slice to open those files.
.h5132 MB · 100%
From the Hugging Face model README
Paper: MobileNetV4 - Universal Models for the Mobile Ecosystem (arXiv:2404.10518) · HF Papers
MobileNetV4 (MNv4) refines the MobileNet line with the Universal Inverted Bottleneck (UIB) block; the hybrid variants add a Mobile Multi-Query Attention (Mobile MQA) block. Use as an ImageNet classifier or a 5-stage backbone.
For more details on the model, please go to the upstream model card.
Pure-Keras 3 conversion of timm/mobilenetv4_conv_large.e600_r384_in1k for zeromodels. One implementation runs unmodified on TensorFlow / Torch / JAX.
This is an image-classification / backbone checkpoint (MobileNetV4ImageClassify / MobileNetV4Model).
import os
os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
from PIL import Image
from zeromodels.models.mobilenetv4 import MobileNetV4ImageClassify, MobileNetV4Model, MobileNetV4ImageProcessor
model = MobileNetV4ImageClassify.from_weights("zeromodels/mobilenetv4_conv_large_e600_r384_in1k")
processor = MobileNetV4ImageProcessor.from_weights("zeromodels/mobilenetv4_conv_large_e600_r384_in1k")
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 = MobileNetV4Model.from_weights("zeromodels/mobilenetv4_conv_large_e600_r384_in1k", as_backbone=True)
features = backbone(pixels, training=False)
Load any MobileNetV4 variant the same way with from_weights("zeromodels/<variant>"):
| Variant | Hub |
|---|---|
mobilenetv4_conv_small_e2400_r224_in1k | zeromodels/mobilenetv4_conv_small_e2400_r224_in1k |
mobilenetv4_conv_medium_e500_r256_in1k | zeromodels/mobilenetv4_conv_medium_e500_r256_in1k |
mobilenetv4_conv_large_e600_r384_in1k | zeromodels/mobilenetv4_conv_large_e600_r384_in1k |
mobilenetv4_hybrid_medium_e500_r224_in1k | zeromodels/mobilenetv4_hybrid_medium_e500_r224_in1k |
mobilenetv4_hybrid_large_e600_r384_in1k | zeromodels/mobilenetv4_hybrid_large_e600_r384_in1k |
KERAS_BACKEND before importing Keras / zeromodels.[0, 255] images: the classifier normalizes internally (ImageNet mean/std).MobileNetV4ImageClassify returns class logits; MobileNetV4Model returns features (as_backbone=True for the 5 stride-2 stages).MobileNetV4ImageClassify.from_weights("hf:timm/mobilenetv4_conv_large.e600_r384_in1k").A huge thank you to the MobileNetV4 authors and the timm / Hub communities for creating and releasing these models.
License: see YAML license (matches the upstream timm/mobilenetv4_conv_large.e600_r384_in1k checkpoint, Apache-2.0).