Image classification
MobileNetV3-Small
The smallest credible ImageNet-1k classifier, around 10 MB on disk.
About this model
MobileNetV3-Small returns top-K class probabilities over the 1000 ImageNet-1k classes. About 2.5M parameters, fp32 ONNX is around 10 MB. Use it when the inference budget is in single-digit milliseconds.
The build is a fresh torchvision IMAGENET1K_V1 export with normalize baked into the graph. On M1 Max CPU it warms to 16 ms per call, faster than CoreML on this size.
What you can build
- Tag user photos with a coarse subject category before showing them.
- Run on-device classification on phones with a 10 MB asset budget.
- Build a quick visual filter without paying for a vision API.
- Pre-screen frames to skip downstream models when nothing of interest is there.
Variants & downloads
Choose the build for your appModel files are being prepared.
Explore the model’s examples, source links, and integration notes while download variants are added.
Performance
Results depend on the device, runtime, and test conditions. Each measurement keeps its own context.
M1 Max, macOS 15, ONNX Runtime 1.17
See original catalog hardware notes · CPU
16.3 ms
Warm inference
Reference result from the existing catalog; conversion variant and measurement date were not recorded.
M1 Max, macOS 15, ONNX Runtime 1.17
See original catalog hardware notes · CoreML
18.2 ms
Warm inference
Reference result from the existing catalog; conversion variant and measurement date were not recorded.
RTX 2060, Ubuntu 24.04, ONNX Runtime 1.24.3
See original catalog hardware notes · CUDA
2.8 ms
Warm inference
Reference result from the existing catalog; conversion variant and measurement date were not recorded.
Integration examples
Vision SDK integration
cpp
#include "imaged/sdk.hpp"
#include "imaged/families/classifier/classifier_family.hpp"
imaged::SDK::AI ai;
auto& config = ai.getOptions();
config.set("classifier.model", "weights/mobilenet_v3_small.onnx");
config.set("classifier.labels", "weights/labels.txt");
config.set("classifier.topK", 5);
imaged::SDK::ClassifierFamily family;
family.load(config);
imaged::SDK::Image image;
image.load("photo.jpg");
auto result = family.run(&image);
auto& classes = std::get<imaged::SDK::ClassificationResult>(result).classes;