13.1.16. O model zoo e a conversão para NPU¶
A IDE vem com uma biblioteca de modelos de aprendizado de máquina pré-treinados – detecção de rostos, detecção de pessoas, detecção de objetos, estimativa de pose e mais – mantida atualizada por meio das atualizações de recursos da IDE. Tools → Machine Vision → Open Model Zoo navega por ela: selecione um modelo para ver sua página de descrição ao lado da árvore de arquivos e marque o filtro para restringir a lista aos modelos que cabem na sua placa.
O navegador do Model Zoo com um modelo selecionado e sua página de descrição aberta.¶
Escolha um modelo e a IDE o copia para fora pronto para executar: ela converte o modelo para o acelerador NPU da placa-alvo quando a placa tem um, copia o arquivo de rótulos correspondente junto e define o destino padrão para a unidade da câmera conectada. A partir daí, o lado do script está a uma chamada de construtor ml.Model de distância. O mesmo navegador pode ser acessado de dentro do editor de ROMFS, que é o melhor destino para modelos em placas que têm ROMFS – modelos no ROMFS executam diretamente da flash sem uma cópia em RAM.
13.1.16.1. Convertendo outros modelos¶
Tools → Machine Vision → Convert Model for NPU executa a mesma conversão em um modelo de qualquer outra origem – um treinado com Edge Impulse ou Roboflow, exportado de um framework de treinamento ou baixado. Placas equipadas com NPU têm, cada uma, um compilador de fornecedor que a IDE inclui e controla: NPUs Ethos-U usam Vela, e NPUs ST Neural-ART usam ST Edge AI. A ferramenta obtém a placa-alvo a partir da câmera conectada (ou pergunta quando nenhuma está conectada) e obtém o arquivo de modelo de você. Um modelo que já está convertido é reconhecido e apenas copiado, e quando a placa selecionada não tem NPU a ferramenta informa isso e pula a conversão – um modelo não convertido ainda roda nessas placas, na CPU.
Em placas com NPU a conversão não é opcional: na melhor das hipóteses, um modelo não convertido recorre à CPU e roda muitas vezes mais lento, e em algumas placas ele não roda de jeito nenhum. O editor de ROMFS e o model zoo aplicam a conversão automaticamente; esta entrada de menu existe para modelos que chegam por outras rotas.
Ver também
O capítulo de aprendizado de máquina para executar modelos com o módulo ml e treinar modelos personalizados.