13.1.16. El model zoo y la conversión para NPU¶
El IDE incluye una biblioteca de modelos de aprendizaje automático preentrenados – detección de rostros, detección de personas, detección de objetos, estimación de pose y más – que se mantienen actualizados a través de las actualizaciones de recursos del IDE. Tools → Machine Vision → Open Model Zoo permite explorarla: selecciona un modelo para ver su página de descripción junto al árbol de archivos, y marca el filtro para reducir la lista a los modelos que se ajustan a tu placa.
El explorador del Model Zoo con un modelo seleccionado y su página de descripción abierta.¶
Elige un modelo y el IDE lo copia listo para ejecutarse: convierte el modelo para el acelerador NPU de la placa de destino cuando la placa tiene uno, copia junto a él el archivo de etiquetas correspondiente y establece como destino predeterminado la unidad de la cámara conectada. A partir de ahí, el lado del script está a una sola llamada al constructor ml.Model de distancia. El mismo explorador es accesible desde dentro del editor de ROMFS, que es el mejor destino para los modelos en placas que tienen ROMFS – los modelos en ROMFS se ejecutan directamente desde la memoria flash sin una copia en RAM.
13.1.16.1. Conversión de otros modelos¶
Tools → Machine Vision → Convert Model for NPU ejecuta la misma conversión sobre un modelo de cualquier otra procedencia – uno entrenado con Edge Impulse o Roboflow, exportado desde un framework de entrenamiento o descargado. Las placas equipadas con NPU tienen cada una un compilador del fabricante que el IDE incluye y controla: las NPU Ethos-U usan Vela, y las NPU ST Neural-ART usan ST Edge AI. La herramienta toma la placa de destino de la cámara conectada (o lo pregunta cuando no hay ninguna conectada) y toma el archivo del modelo de ti. Un modelo que ya está convertido se reconoce y simplemente se copia, y cuando la placa seleccionada no tiene NPU la herramienta lo indica y omite la conversión – un modelo sin convertir todavía se ejecuta en esas placas, en la CPU.
En las placas con NPU la conversión no es opcional: en el mejor de los casos un modelo sin convertir recurre a la CPU y se ejecuta muchas veces más lento, y en algunas placas no se ejecutará en absoluto. El editor de ROMFS y el model zoo aplican la conversión automáticamente; esta entrada de menú existe para los modelos que llegan por otras vías.
Ver también
Consulta el capítulo de aprendizaje automático para ejecutar modelos con el módulo ml y entrenar modelos personalizados.