alt.freeweights.vision / mobilenetv4_conv_small.e2400_r224_in1k
From: timm <huggingface.co/timm>Newsgroups: alt.freeweights.visionSubject:

mobilenetv4_conv_small.e2400_r224_in1k

Date: 2026-11-14Commit: 331fb80Signed: 2DC28CC7B26A283B ✓

Image classification model with 4M parameters. Safetensors weights, 30.5 MB in all. Published by timm under Apache-2.0.

4M params30.5MBmobilenetv4_conv_small.e2400_r224_in1ksafetensorspermissive
FactsParams4MSize30.5 MBFormatssafetensorsTaskimage classificationLicenseApache-2.0From sourcepermissive
$ fw get timm/mobilenetv4_conv_small.e2400_r224_in1k
# manifest sha256 1a7afccfff80… · 30.5 MB · 5 files
$ fw verify ./mobilenetv4_conv_small.e2400_r224_in1k timm/mobilenetv4_conv_small.e2400_r224_in1k
From sourceHosted (signed)timm/mobilenetv4_conv_small.e2400_r224_in1kLast check: 2026-11-14 21:38 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Overview

Size
30.5 MB
Weights
15.2 MB (safetensors)
Parameters
4M
Formats
safetensors
Task
image classification
License
Apache-2.0 (permissive)
Files
5, each with a sha256
Publisher
timm
Added
2026-11-14
Section
alt.freeweights.vision
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:38 UTCpassed

Model card

From the publisher at commit 331fb80. Shown as plain text with links; images open at the publisher.

Model card for mobilenetv4_conv_small.e2400_r224_in1k#

A MobileNet-V4 image classification model. Trained on ImageNet-1k by Ross Wightman.

Trained with timm scripts using hyper-parameters inspired by the MobileNet-V4 paper with timm enhancements.

NOTE: So far, these are the only known MNV4 weights. Official weights for Tensorflow models are unreleased.

Model Details#

Model Usage#

Image Classification#
from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model('mobilenetv4_conv_small.e2400_r224_in1k', pretrained=True)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)
Feature Map Extraction#
from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'mobilenetv4_conv_small.e2400_r224_in1k',
    pretrained=True,
    features_only=True,
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # unsqueeze single image into batch of 1

for o in output:
    # print shape of each feature map in output
    # e.g.:
    #  torch.Size([1, 32, 112, 112])
    #  torch.Size([1, 32, 56, 56])
    #  torch.Size([1, 64, 28, 28])
    #  torch.Size([1, 96, 14, 14])
    #  torch.Size([1, 960, 7, 7])

    print(o.shape)
Image Embeddings#
from urllib.request import urlopen
from PIL import Image
import timm

img = Image.open(urlopen(
    'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))

model = timm.create_model(
    'mobilenetv4_conv_small.e2400_r224_in1k',
    pretrained=True,
    num_classes=0,  # remove classifier nn.Linear
)
model = model.eval()

# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)

output = model(transforms(img).unsqueeze(0))  # output is (batch_size, num_features) shaped tensor

# or equivalently (without needing to set num_classes=0)

output = model.forward_features(transforms(img).unsqueeze(0))
# output is unpooled, a (1, 960, 7, 7) shaped tensor

output = model.forward_head(output, pre_logits=True)
# output is a (1, num_features) shaped tensor

Model Comparison#

By Top-1#
modeltop1top5param_countimg_size
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k84.9997.29432.59544
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k84.77297.34432.59480
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k84.6497.11432.59448
mobilenetv4_hybrid_large.ix_e600_r384_in1k84.35696.89237.76448
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k84.31497.10232.59384
mobilenetv4_hybrid_large.e600_r384_in1k84.26696.93637.76448
mobilenetv4_hybrid_large.ix_e600_r384_in1k83.99096.70237.76384
mobilenetv4_conv_aa_large.e600_r384_in1k83.82496.73432.59480
mobilenetv4_hybrid_large.e600_r384_in1k83.80096.77037.76384
mobilenetv4_hybrid_medium.ix_e550_r384_in1k83.39496.76011.07448
mobilenetv4_conv_large.e600_r384_in1k83.39296.62232.59448
mobilenetv4_conv_aa_large.e600_r384_in1k83.24496.39232.59384
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k82.9996.6711.07320
mobilenetv4_hybrid_medium.ix_e550_r384_in1k82.96896.47411.07384
mobilenetv4_conv_large.e600_r384_in1k82.95296.26632.59384
mobilenetv4_conv_large.e500_r256_in1k82.67496.3132.59320
mobilenetv4_hybrid_medium.ix_e550_r256_in1k82.49296.27811.07320
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k82.36496.25611.07256
mobilenetv4_conv_large.e500_r256_in1k81.86295.6932.59256
resnet50d.ra4_e3600_r224_in1k81.83895.92225.58288
mobilenetv3_large_150d.ra4_e3600_r256_in1k81.80695.914.62320
mobilenetv4_hybrid_medium.ix_e550_r256_in1k81.44695.70411.07256
efficientnet_b1.ra4_e3600_r240_in1k81.44095.7007.79288
mobilenetv4_hybrid_medium.e500_r224_in1k81.27695.74211.07256
resnet50d.ra4_e3600_r224_in1k80.95295.38425.58224
mobilenetv3_large_150d.ra4_e3600_r256_in1k80.94495.44814.62256
mobilenetv4_conv_medium.e500_r256_in1k80.85895.7689.72320
mobilenet_edgetpu_v2_m.ra4_e3600_r224_in1k80.68095.4428.46256
mobilenetv4_hybrid_medium.e500_r224_in1k80.44295.3811.07224
efficientnet_b1.ra4_e3600_r240_in1k80.40695.1527.79240
mobilenetv4_conv_blur_medium.e500_r224_in1k80.14295.2989.72256
mobilenet_edgetpu_v2_m.ra4_e3600_r224_in1k80.13095.0028.46224
mobilenetv4_conv_medium.e500_r256_in1k79.92895.1849.72256
mobilenetv4_conv_medium.e500_r224_in1k79.80895.1869.72256
mobilenetv4_conv_blur_medium.e500_r224_in1k79.43894.9329.72224
efficientnet_b0.ra4_e3600_r224_in1k79.36494.7545.29256
mobilenetv4_conv_medium.e500_r224_in1k79.09494.779.72224
efficientnet_b0.ra4_e3600_r224_in1k78.58494.3385.29224
mobilenetv1_125.ra4_e3600_r224_in1k77.60093.8046.27256
mobilenetv3_large_100.ra4_e3600_r224_in1k77.16493.3365.48256
mobilenetv1_125.ra4_e3600_r224_in1k76.92493.2346.27224
mobilenetv1_100h.ra4_e3600_r224_in1k76.59693.2725.28256
mobilenetv3_large_100.ra4_e3600_r224_in1k76.31092.8465.48224
mobilenetv1_100.ra4_e3600_r224_in1k76.09493.0044.23256
mobilenetv1_100h.ra4_e3600_r224_in1k75.66292.5045.28224
mobilenetv1_100.ra4_e3600_r224_in1k75.38292.3124.23224
mobilenetv4_conv_small.e2400_r224_in1k74.61692.0723.77256
mobilenetv4_conv_small.e1200_r224_in1k74.29292.1163.77256
mobilenetv4_conv_small.e2400_r224_in1k73.75691.4223.77224
mobilenetv4_conv_small.e1200_r224_in1k73.45491.343.77224

Citation#

@article{qin2024mobilenetv4,
  title={MobileNetV4-Universal Models for the Mobile Ecosystem},
  author={Qin, Danfeng and Leichner, Chas and Delakis, Manolis and Fornoni, Marco and Luo, Shixin and Yang, Fan and Wang, Weijun and Banbury, Colby and Ye, Chengxi and Akin, Berkin and others},
  journal={arXiv preprint arXiv:2404.10518},
  year={2024}
}
@misc{rw2019timm,
  author = {Ross Wightman},
  title = {PyTorch Image Models},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  doi = {10.5281/zenodo.4414861},
  howpublished = {\url{https://github.com/huggingface/pytorch-image-models}}
}

Files

5 files · 30.5 MBWeights 15.2 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 5 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md13.1 KB864651a7a9c0457023728da202cb1119abf3fa0872ded374ba736efde6454eb7
config.json681 Becd20bcf1287aaa88129a736d188904d0b134c96e152b55b241be895657fe41a
model.safetensors15.2 MB7a7102ec18f62bbfb555b6fe829bbb5af749516b84174926c29ffdfdfc03aec4
pytorch_model.bin15.3 MB28f2109728e2b5b4296397f0ea2aa8fd1896c8dca1e7f5ff217ae5ec22049e39
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
331fb80377 pinned now manifest updated, same commit2026-11-14 21:38 UTC5 files · 30.5 MB
331fb803772026-11-14 21:38 UTC5 files · 30.5 MB

Use it

$ fw get timm/mobilenetv4_conv_small.e2400_r224_in1k
# manifest sha256 1a7afccfff80… · 30.5 MB · 5 files
$ fw verify ./mobilenetv4_conv_small.e2400_r224_in1k timm/mobilenetv4_conv_small.e2400_r224_in1k
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/timm/mobilenetv4_conv_small.e2400_r224_in1k.json --dir ./mobilenetv4_conv_small.e2400_r224_in1k $ python3 fw.py verify ./mobilenetv4_conv_small.e2400_r224_in1k ./timm__mobilenetv4_conv_small.e2400_r224_in1k.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download timm/mobilenetv4_conv_small.e2400_r224_in1k --revision 331fb803779522b685cf942e15f914fb6741c1eb --local-dir ./mobilenetv4_conv_small.e2400_r224_in1k

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
864651a7a9c0457023728da202cb1119abf3fa0872ded374ba736efde6454eb7
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: timm <huggingface.co/timm>Newsgroups: alt.freeweights.visionSubject: mobilenetv4_conv_small.e2400_r224_in1kDate: 2026-11-14Commit: 331fb80Signed: 2DC28CC7B26A283B ✓
Upstream
timm/mobilenetv4_conv_small.e2400_r224_in1k
Pinned commit
331fb803779522b685cf942e15f914fb6741c1eb
Manifest
mobilenetv4_conv_small.e2400_r224_in1k.json · .minisig
Manifest sha256
1a7afccfff8069630a7a8179737e0570e7b947171d14949b91ce40cd653e8594
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:38 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/timm/mobilenetv4_conv_small.e2400_r224_in1k.json $ curl -O https://freeweights.allternit.com/manifests/timm/mobilenetv4_conv_small.e2400_r224_in1k.json.minisig $ minisign -Vm mobilenetv4_conv_small.e2400_r224_in1k.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

1 model in the catalog name this one as their parent.

Quantizations
1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download timm/mobilenetv4_conv_small.e2400_r224_in1k
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. mobilenetv4_conv_small.e2400_r224_in1k.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of mobilenetv4_conv_small.e2400_r224_in1k. Each has its own license check and page.

From: dima806 <huggingface.co/dima806>Subject: ai_vs_real_image_detection
From: legekka <huggingface.co/legekka>Subject: AI-Anime-Image-Detector-ViT
From: onnx-community <huggingface.co/onnx-community>Subject: AI-Anime-Image-Detector-ViT-ONNX
From: AICodexLab <huggingface.co/AICodexLab>Subject: answerdotai-ModernBERT-base-ai-detector
From: onnx-community <huggingface.co/onnx-community>Subject: answerdotai-ModernBERT-base-ai-detector-ONNX
From: onnx-community <huggingface.co/onnx-community>Subject: bart-large-cnn-ONNX