Image Classification
File size: 14,862 Bytes
de0f3a9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
---
license: other
license_name: sla0044
license_link: >-
  https://github.com/STMicroelectronics/stm32ai-modelzoo/blob/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/LICENSE.md
pipeline_tag: image-classification
---
# ST ResNet

## **Use case** : `Image classification`

# Model description


ST ResNet is STMicroelectronics' custom ResNet family **specifically designed and optimized for STM32 deployment**. It offers a range of sizes from "pico" to "tiny" with ReLU activations, providing a progressive accuracy-efficiency trade-off tailored for embedded vision applications.

The architecture is **STM32-optimized** and designed specifically for STM32 NPU deployment, with **progressive sizing** from Pico → Nano → Micro → Milli → Tiny (increasing capacity). It uses **ReLU activation** for quantization friendliness and a **balanced design** optimized for both accuracy and inference speed on target hardware.

ST ResNet models are the **recommended choice** for production STM32 deployments, with all variants running on internal RAM only and well-characterized performance on STM32 hardware.

(source: https://arxiv.org/abs/2601.05364, https://arxiv.org/abs/2511.11716)

The model is quantized to **int8** using **ONNX Runtime** and exported for efficient deployment.

## Network information


| Network Information | Value |
|--------------------|-------|
| Framework          | Torch |
| MParams            | ~0.59–3.97 M |
| Quantization       | Int8 |
| Provenance         | https://github.com/STMicroelectronics/stm32ai-modelzoo |
| Paper              | https://arxiv.org/abs/2601.05364 |

## Network inputs / outputs


For an image resolution of NxM and P classes

| Input Shape | Description |
| ----- | ----------- |
| (1, N, M, 3) | Single NxM RGB image with UINT8 values between 0 and 255 |

| Output Shape | Description |
| ----- | ----------- |
| (1, P) | Per-class confidence for P classes in FLOAT32|


## Recommended platforms


| Platform | Supported | Recommended |
|----------|-----------|-----------|
| STM32L0  |[]|[]|
| STM32L4  |[]|[]|
| STM32U5  |[]|[]|
| STM32H7  |[]|[]|
| STM32MP1 |[]|[]|
| STM32MP2 |[]|[]|
| STM32N6  |[x]|[x]|

# Performances

## Metrics

- Measures are done with default STEdgeAI Core configuration with enabled input / output allocated option.
- All the models are trained from scratch on Imagenet dataset 

### Reference **NPU** memory footprint on Imagenet dataset (see Accuracy for details on dataset)
| Model | Dataset | Format | Resolution | Series | Internal RAM (KiB) | External RAM (KiB) | Weights Flash (KiB) | STEdgeAI Core version |
|-------|---------|--------|------------|--------|--------------|--------------|---------------|----------------------|
| [st_resnetpico_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetpico_actrelu_pt_224/st_resnetpico_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6 | 784 | 0 | 607.27 | 3.0.0 |
| [st_resnetnano_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetnano_actrelu_pt_224/st_resnetnano_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6 | 759.5 | 0 | 992.04 | 3.0.0 |
| [st_resnetmicro_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmicro_actrelu_pt_224/st_resnetmicro_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6 | 882 | 0 | 1534.12 | 3.0.0 |
| [st_resnetmilli_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmilli_actrelu_pt_224/st_resnetmilli_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6 | 1421 | 0 | 3059.81 | 3.0.0 |
| [st_resnettiny_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnettiny_actrelu_pt_224/st_resnettiny_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6 | 2205 | 0 | 4060.57 | 3.0.0 |


### Reference **NPU**  inference time on  imagenet dataset (see Accuracy for details on dataset)

| Model  |  Dataset  | Format | Resolution  | Board            | Execution Engine | Inference time (ms) | Inf / sec |  STEdgeAI Core version |
|--------|---------|--------|--------|-------------|------------------|------------------|---------------------|-------------------------|
| [st_resnetpico_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetpico_actrelu_pt_224/st_resnetpico_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 7.54 | 132.63 | 3.0.0  |
| [st_resnetnano_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetnano_actrelu_pt_224/st_resnetnano_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 9.46 | 105.71 | 3.0.0  |
| [st_resnetmicro_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmicro_actrelu_pt_224/st_resnetmicro_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 13.83 | 72.31 | 3.0.0  |
| [st_resnetmilli_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmilli_actrelu_pt_224/st_resnetmilli_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 17.59 | 56.85 | 3.0.0  |
| [st_resnettiny_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnettiny_actrelu_pt_224/st_resnettiny_actrelu_pt_224_qdq_int8.onnx) | Imagenet | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 24.10 | 41.49 | 3.0.0  |

| Model  |  Format | Resolution  | Board            | Execution Engine | Inference time (ms) | Inf / sec | STM32Cube.AI version  |  STEdgeAI Core version |
|--------|--------|-------------|------------------|------------------|---------------------|-----------|----------------------|-------------------------|
| [st_resnetpico_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetpico_actrelu_pt_224/st_resnetpico_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 7.54 | 132.63 | 10.2.0 | 2.2.0 |
| [st_resnetnano_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetnano_actrelu_pt_224/st_resnetnano_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 9.46 | 105.71 | 10.2.0 | 2.2.0 |
| [st_resnetmicro_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmicro_actrelu_pt_224/st_resnetmicro_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 13.83 | 72.31 | 10.2.0 | 2.2.0 |
| [st_resnetmilli_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmilli_actrelu_pt_224/st_resnetmilli_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 17.59 | 56.85 | 10.2.0 | 2.2.0 |
| [st_resnettiny_actrelu_pt_224](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnettiny_actrelu_pt_224/st_resnettiny_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | STM32N6570-DK | NPU/MCU | 24.10 | 41.49 | 10.2.0 | 2.2.0 |


### Accuracy with Imagenet dataset

| Model | Format | Resolution | Top 1 Accuracy |
|-------|--------|------------|----------------|
| [st_resnetmicro_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmicro_actrelu_pt_224/st_resnetmicro_actrelu_pt_224.onnx) | Float | 224×224×3 | 66.43 % |
| [st_resnetmicro_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmicro_actrelu_pt_224/st_resnetmicro_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 65.62 % |
| [st_resnetmilli_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmilli_actrelu_pt_224/st_resnetmilli_actrelu_pt_224.onnx) | Float | 224×224×3 | 71.10 % |
| [st_resnetmilli_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmilli_actrelu_pt_224/st_resnetmilli_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 70.45 % |
| [st_resnetnano_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetnano_actrelu_pt_224/st_resnetnano_actrelu_pt_224.onnx) | Float | 224×224×3 | 59.32 % |
| [st_resnetnano_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetnano_actrelu_pt_224/st_resnetnano_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 58.25 % |
| [st_resnetpico_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetpico_actrelu_pt_224/st_resnetpico_actrelu_pt_224.onnx) | Float | 224×224×3 | 49.42 % |
| [st_resnetpico_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetpico_actrelu_pt_224/st_resnetpico_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 46.98 % |
| [st_resnettiny_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnettiny_actrelu_pt_224/st_resnettiny_actrelu_pt_224.onnx) | Float | 224×224×3 | 72.07 % |
| [st_resnettiny_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnettiny_actrelu_pt_224/st_resnettiny_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 71.40 % |


Dataset details: [link](https://www.image-net.org)
Number of classes: 1000.
To perform the quantization, we calibrated the activations with a random subset of the training set.
For the sake of simplicity, the accuracy reported here was estimated on the 50000 labelled images of the validation set.

| Model | Format | Resolution | Top 1 Accuracy |
|-------|--------|------------|----------------|
| [st_resnetmicro_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmicro_actrelu_pt_224/st_resnetmicro_actrelu_pt_224.onnx) | Float | 224×224×3 | 66.43 % |
| [st_resnetmicro_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmicro_actrelu_pt_224/st_resnetmicro_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 65.62 % |
| [st_resnetmilli_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmilli_actrelu_pt_224/st_resnetmilli_actrelu_pt_224.onnx) | Float | 224×224×3 | 71.10 % |
| [st_resnetmilli_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetmilli_actrelu_pt_224/st_resnetmilli_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 70.45 % |
| [st_resnetnano_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetnano_actrelu_pt_224/st_resnetnano_actrelu_pt_224.onnx) | Float | 224×224×3 | 59.32 % |
| [st_resnetnano_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetnano_actrelu_pt_224/st_resnetnano_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 58.25 % |
| [st_resnetpico_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetpico_actrelu_pt_224/st_resnetpico_actrelu_pt_224.onnx) | Float | 224×224×3 | 49.42 % |
| [st_resnetpico_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnetpico_actrelu_pt_224/st_resnetpico_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 46.98 % |
| [st_resnettiny_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnettiny_actrelu_pt_224/st_resnettiny_actrelu_pt_224.onnx) | Float | 224×224×3 | 72.07 % |
| [st_resnettiny_actrelu_pt](https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/image_classification/st_resnet_pt/ST_pretrainedmodel_public_dataset/Imagenet/st_resnettiny_actrelu_pt_224/st_resnettiny_actrelu_pt_224_qdq_int8.onnx) | Int8 | 224×224×3 | 71.40 % |



## Retraining and Integration in a simple example:

Please refer to the stm32ai-modelzoo-services GitHub [here](https://github.com/STMicroelectronics/stm32ai-modelzoo-services)



# References

<a id="1">[1]</a> - **Dataset**: Imagenet (ILSVRC 2012) — https://www.image-net.org/

<a id="2">[2]</a> - **Model**: STRESNET & STYOLO — https://arxiv.org/abs/2601.05364

<a id="3">[3]</a> - **Model**: CompressNAS — https://arxiv.org/abs/2511.11716