13.1.16. Il model zoo e la conversione per NPU

L’IDE include una libreria di modelli di machine learning preaddestrati – rilevamento di volti, rilevamento di persone, rilevamento di oggetti, stima della posa e altro ancora – mantenuti aggiornati attraverso gli aggiornamenti delle risorse dell’IDE. Strumenti → Machine Vision → Open Model Zoo permette di sfogliarla: seleziona un modello per visualizzarne la pagina di descrizione accanto all’albero dei file, e spunta il filtro per restringere l’elenco ai modelli adatti alla tua scheda.

Il browser del Model Zoo: l'albero dei modelli a sinistra con un modello selezionato, la sua pagina di descrizione a destra e la casella di spunta del filtro per tipo di scheda in basso

Il browser del Model Zoo con un modello selezionato e la sua pagina di descrizione aperta.

Scegli un modello e l’IDE lo copia pronto per l’esecuzione: converte il modello per l’acceleratore NPU della scheda target quando la scheda ne dispone di uno, copia accanto ad esso il file delle etichette corrispondente e imposta come destinazione predefinita l’unità della camera connessa. Da lì, dal lato dello script manca solo una chiamata al costruttore ml.Model. Lo stesso browser è raggiungibile dall’interno dell”editor ROMFS, che è la destinazione migliore per i modelli sulle schede dotate di ROMFS – i modelli in ROMFS vengono eseguiti direttamente dalla flash senza una copia in RAM.

13.1.16.1. Convertire altri modelli

Strumenti → Machine Vision → Convert Model for NPU esegue la stessa conversione su un modello proveniente da qualsiasi altra fonte – uno addestrato con Edge Impulse o Roboflow, esportato da un framework di addestramento o scaricato. Le schede dotate di NPU dispongono ciascuna di un compilatore del fornitore che l’IDE include e pilota: le NPU Ethos-U usano Vela, e le NPU ST Neural-ART usano ST Edge AI. Lo strumento prende la scheda target dalla camera connessa (o la chiede quando nessuna è connessa) e prende il file del modello da te. Un modello già convertito viene riconosciuto e semplicemente copiato, e quando la scheda selezionata non dispone di NPU lo strumento lo segnala e salta la conversione – un modello non convertito viene comunque eseguito su quelle schede, sulla CPU.

Sulle schede con NPU la conversione non è facoltativa: nel migliore dei casi un modello non convertito ripiega sulla CPU e viene eseguito molte volte più lentamente, e su alcune schede non verrà eseguito affatto. L’editor ROMFS e il model zoo applicano la conversione automaticamente; questa voce di menu esiste per i modelli che arrivano per altre vie.

Vedi anche

Il capitolo sul machine learning per eseguire i modelli con il modulo ml e per addestrarne di personalizzati.