15.1.16. The model zoo and NPU conversion¶
The IDE ships with a library of pretrained machine-learning models – face detection, person detection, object detection, pose estimation, and more – kept current through the IDE’s resource updates. Tools → Machine Vision → Open Model Zoo browses it: selecting a model shows its description page alongside the file tree, and a filter narrows the list to models that fit the selected board.
Screenshot needed
figures/model-zoo.png – the Model Zoo browser
open with the model list visible and one model
selected showing its description, the
filter-by-board-type checkbox visible. Capture the
whole dialog.
Choosing a model copies it out ready to run: the IDE
converts it for the target board’s NPU accelerator when
the board has one, copies the matching labels file
alongside it, and defaults the destination to the
connected camera’s drive. From there the script side is
one ml.Model constructor call away. The same
browser is reachable from inside the ROMFS editor, which is the better destination for models on
boards that have ROMFS – models in ROMFS execute
straight from flash without a RAM copy.
15.1.16.1. Converting other models¶
Tools → Machine Vision → Convert Model for NPU runs the same conversion on a model from anywhere else – one trained with Edge Impulse, exported from a training framework, or downloaded. NPU-equipped boards each have a vendor compiler that the IDE bundles and drives: Ethos-U NPUs use Vela, and ST Neural-ART NPUs use ST Edge AI. The tool uses the connected camera’s board – or asks for the target board when none is connected – then takes the model file, detects whether the model is already converted (and just copies it if so), and tells you when the selected board has no NPU and needs no conversion – an unconverted model still runs on such boards, on the CPU.
The conversion is the difference between a model running in milliseconds and running in seconds on NPU boards, so it is not optional there. The ROMFS editor and the model zoo apply it automatically; this menu entry exists for models that arrive by other routes.
See also
The machine learning chapter for running models with the
ml module and training custom ones.