Views
No views yet
timm/mobilenetv4_conv_small.e2400_r224_in1k for zeromodels. One implementation runs unmodified on TensorFlow / Torch / JAX.MobileNetV4ImageClassify / MobileNetV4Model).1import os
2
3os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
4
5from PIL import Image
6from zeromodels.models.mobilenetv4 import MobileNetV4ImageClassify, MobileNetV4Model, MobileNetV4ImageProcessor
7
8model = MobileNetV4ImageClassify.from_weights("zeromodels/mobilenetv4_conv_small_e2400_r224_in1k")
9processor = MobileNetV4ImageProcessor.from_weights("zeromodels/mobilenetv4_conv_small_e2400_r224_in1k")
10
11image = Image.open("your_image.jpg").convert("RGB")
12pixels = processor(image) # resize + normalize (normalization lives in the processor)
13logits = model(pixels, training=False)
14print(logits.shape) # (1, num_classes)
15
16# Feature extraction: the backbone without the classifier head
17backbone = MobileNetV4Model.from_weights("zeromodels/mobilenetv4_conv_small_e2400_r224_in1k", as_backbone=True)
18features = backbone(pixels, training=False)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_small.e2400_r224_in1k").license (matches the upstream timm/mobilenetv4_conv_small.e2400_r224_in1k checkpoint, Apache-2.0).