LiteRT cho vi điều khiển

LiteRT cho Vi điều khiển được thiết kế để chạy các mô hình học máy trên bộ vi điều khiển và các thiết bị khác chỉ có vài kilobyte bộ nhớ. Chiến lược phát hành đĩa đơn thời gian chạy cốt lõi chỉ vừa với 16 KB trên Arm Cortex M3 và có thể chạy nhiều cơ bản người mẫu. Phiên bản này không yêu cầu hệ điều hành hỗ trợ, mọi ngôn ngữ C hoặc C++ tiêu chuẩn hoặc phân bổ bộ nhớ động.

Tại sao vi điều khiển lại quan trọng

Vi điều khiển thường là thiết bị tính toán nhỏ, công suất thấp nhúng trong phần cứng yêu cầu phép tính cơ bản. Bằng cách đưa máy móc học các bộ vi điều khiển nhỏ bé, chúng ta có thể nâng cao trí tuệ của hàng tỷ mà chúng ta sử dụng trong cuộc sống, bao gồm cả thiết bị gia dụng và Internet của Sử dụng thiết bị mà không cần dựa vào phần cứng đắt tiền hay Internet ổn định thường bị hạn chế về băng thông, nguồn điện và dẫn đến độ trễ cao. Việc này cũng có thể giúp bảo vệ quyền riêng tư vì không có dữ liệu rời khỏi thiết bị. Hãy tưởng tượng các thiết bị thông minh có thể thích ứng với hoạt động hằng ngày của bạn các cảm biến công nghiệp thông minh, thông minh hiểu được sự khác biệt giữa các vấn đề và hoạt động bình thường cũng như những đồ chơi phép thuật có thể giúp trẻ học tập một cách vui vẻ và thú vị.

Nền tảng được hỗ trợ

LiteRT cho vi điều khiển được viết bằng C++ 17 và yêu cầu phải có 32 bit chủ. API này đã được thử nghiệm rộng rãi với nhiều bộ xử lý dựa trên Dòng Arm Cortex-M và đã được chuyển sang các kiến trúc khác bao gồm ESP32. Chiến lược phát hành đĩa đơn khung có sẵn dưới dạng thư viện Arduino. Nền tảng này cũng có thể tạo các dự án cho phát triển ứng dụng như Mbed. Đây là mã nguồn mở và có thể được đưa vào bất kỳ dự án C++ 17 nào.

Sau đây là các bảng phát triển được hỗ trợ:

Tìm hiểu ví dụ

Mỗi ứng dụng mẫu đang được bật GitHub và có một tệp README.md giải thích cách triển khai cho ứng dụng được hỗ trợ nền tảng. Một số ví dụ cũng có hướng dẫn toàn diện sử dụng nền tảng, như được cung cấp dưới đây:

Luồng công việc

Bạn cần thực hiện các bước sau đây để triển khai và chạy mô hình TensorFlow trên bộ vi điều khiển:

  1. Đào tạo mô hình:
  2. Chạy suy luận trên thiết bị bằng cách sử dụng thư viện C++ và quy trình kết quả.

Các điểm hạn chế

LiteRT cho Vi điều khiển được thiết kế cho những hạn chế cụ thể của phát triển bộ vi điều khiển. Nếu bạn đang làm việc trên các thiết bị mạnh hơn (cho ví dụ: thiết bị Linux được nhúng như Raspberry Pi), Khung LiteRT có thể dễ tích hợp hơn.

Bạn nên xem xét các giới hạn sau:

  • Hỗ trợ cho một nhóm nhỏ giới hạn Toán tử trên TensorFlow
  • Hỗ trợ cho một số thiết bị
  • API C++ cấp thấp yêu cầu quản lý bộ nhớ theo cách thủ công
  • Không hỗ trợ huấn luyện trên thiết bị

Các bước tiếp theo