13.6. Edge Impulse

Edge Impulse là một nền tảng đầu-cuối để xây dựng các mô hình (ML) học máy chạy trên vi điều khiển: thu thập và gán nhãn dữ liệu, thiết kế và huấn luyện mô hình (ML) trên trình duyệt, và tối ưu hóa để phù hợp với thiết bị được tính bằng kilobyte. Nó triển khai thẳng lên OpenMV -- chỉ vài thao tác nhấp chuột để biến mô hình (ML) đã huấn luyện thành các tệp sẵn sàng chạy trên camera. Tài liệu của Edge Impulse đi sâu hơn vào từng bước.

13.6.1. Đưa dữ liệu vào

Một mô hình (ML) hoạt động tốt nhất với loại ảnh mà nó được huấn luyện, vì vậy hãy thu thập tập dữ liệu bằng camera sẽ chạy nó. Trình chỉnh sửa tập dữ liệu của IDE được xây dựng chính xác cho mục đích này -- tạo các thư mục lớp, chụp ảnh có nhãn từ bộ đệm khung hình trực tiếp, rồi tải tập dữ liệu thẳng vào một dự án Edge Impulse từ menu con Export (đăng nhập vào tài khoản của bạn trước). Từ đó trở đi bạn làm việc trong Edge Impulse Studio.

Xem thêm

Hướng dẫn cài đặt OpenMV Cam của Edge Impulse để cài đặt các công cụ và kết nối camera.

13.6.2. Huấn luyện

Việc huấn luyện diễn ra hoàn toàn trên trình duyệt: thiết kế một impulse (các khối đầu vào, xử lý và học tập), huấn luyện nó, và kiểm tra độ chính xác trên dữ liệu kiểm tra được giữ lại.

Hai loại mô hình (ML) phù hợp với camera. Bộ phân loại ảnh xuất ra danh sách điểm số lớp, mà bạn đọc trực tiếp từ đầu ra của mô hình (ML) -- không cần bộ xử lý hậu kỳ. FOMO, một bộ phát hiện đối tượng nhanh được thiết kế cho vi điều khiển, cần một bước giải mã, và camera đi kèm bộ xử lý hậu kỳ cho nó (ml.postprocessing.edgeimpulse), vì vậy những mô hình (ML) đó cũng chạy mà không cần mã bổ sung.

13.6.3. Triển khai lên camera

Khi quá trình huấn luyện hoàn tất, mở trang Deployment của dự án, chọn mục tiêu OpenMV Library, và nhấn Build. Tệp tải xuống là một tệp zip chứa mô hình (ML) đã huấn luyện (trained.tflite), nhãn của nó (labels.txt), và một tập lệnh ví dụ. Mô hình (ML) được lượng tử hóa số nguyên. Edge Impulse đề cập đến điều này và phương án firmware tùy chỉnh trong hướng dẫn chạy trên OpenMV của mình.

Thêm tệp .tflite vào camera bằng trình chỉnh sửa ROMFS của IDE, công cụ này chuyển đổi nó cho NPU của bo mạch khi có, và tải nó trong một tập lệnh với ml.Model. Các mô hình (ML) cũng có thể chạy từ ổ đĩa flash của camera -- sao chép các tệp và trỏ ml.Model đến đường dẫn -- nhưng ROMFS là nơi lưu trữ tốt hơn: các mô hình (ML) ở đó thực thi trực tiếp từ bộ nhớ flash mà không cần sao chép vào RAM.

Xem thêm

Chương học máy để chạy các mô hình (ML) với mô-đun ml -- tải, đường ống suy luận, và giải mã đầu ra.