13.1.16. 모델 주(model zoo)와 NPU 변환¶
IDE에는 사전 학습된 머신러닝 모델 라이브러리 – 얼굴 검출, 사람 검출, 객체 검출, 자세 추정 등 – 가 함께 제공되며, IDE의 리소스 업데이트를 통해 최신 상태로 유지됩니다. Tools → Machine Vision → Open Model Zoo로 이를 탐색합니다: 모델을 선택하면 파일 트리와 함께 설명 페이지가 나타나며, 필터를 체크하면 사용 중인 보드에 맞는 모델로 목록을 좁힐 수 있습니다.
모델이 선택되고 설명 페이지가 열린 Model Zoo 브라우저.¶
모델을 선택하면 IDE가 실행 준비가 된 상태로 복사해 줍니다: 보드에 NPU 가속기가 있으면 대상 보드의 NPU에 맞게 모델을 변환하고, 일치하는 레이블 파일을 함께 복사하며, 대상 위치를 연결된 카메라의 드라이브로 기본 설정합니다. 거기서부터 스크립트 측에서는 ml.Model 생성자 호출 한 번이면 됩니다. 같은 브라우저는 ROMFS 편집기 안에서도 접근할 수 있는데, ROMFS가 있는 보드에서는 그쪽이 모델을 두기에 더 나은 위치입니다 – ROMFS에 있는 모델은 RAM 복사 없이 플래시에서 곧바로 실행됩니다.
13.1.16.1. 다른 모델 변환하기¶
Tools → Machine Vision → Convert Model for NPU는 그 밖의 어디에서 온 모델 – Edge Impulse나 Roboflow로 학습한 모델, 학습 프레임워크에서 내보낸 모델, 또는 다운로드한 모델 – 에 대해 동일한 변환을 실행합니다. NPU를 갖춘 보드는 각각 IDE가 번들하여 구동하는 벤더 컴파일러를 가지고 있습니다: Ethos-U NPU는 Vela를 사용하고, ST Neural-ART NPU는 ST Edge AI를 사용합니다. 이 도구는 대상 보드를 연결된 카메라에서 가져오고(연결된 것이 없으면 묻습니다) 모델 파일을 사용자에게서 받습니다. 이미 변환된 모델은 인식되어 그냥 복사되고, 선택된 보드에 NPU가 없으면 도구가 이를 알리고 변환을 건너뜁니다 – 변환되지 않은 모델도 그런 보드에서 CPU로 여전히 실행됩니다.
NPU 보드에서는 변환이 선택 사항이 아닙니다: 변환되지 않은 모델은 잘해야 CPU로 폴백되어 수십 배 느리게 실행되고, 일부 보드에서는 아예 실행되지 않습니다. ROMFS 편집기와 모델 주는 변환을 자동으로 적용합니다. 이 메뉴 항목은 다른 경로로 들어온 모델을 위해 존재합니다.