Skip to content
imaged

Image classification

ConvNeXt-Tiny

A modern CNN that closes most of the gap to ViT accuracy on CPU.

BSD-3-Clause
Explore model

About this model

ConvNeXt-Tiny is a 2022 redesign of the convolutional stack inspired by transformer architectures. About 28M parameters. It returns top-K class probabilities over the 1000 ImageNet-1k classes.

The build is a fresh torchvision IMAGENET1K_V1 export with normalize baked into the graph. On M1 Max, CoreML hits 19 ms warm by offloading 327 of 328 nodes to the ANE.

What you can build

  • Run a higher-accuracy classifier when CPU latency budget is generous.
  • Compare convolutional and transformer backbones in the same pipeline.
  • Use on Apple Silicon where the ANE makes the larger model fast.
  • Tag photos with sharper top-1 confidence than ResNet-50.

Variants & downloads

Choose the build for your app

Model 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

159.0 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 158.13

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.6 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 95.45

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

8.8 ms

Warm inference

Catalog reference · variant unspecified

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/convnext_tiny.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;