TensorFlow Lite cho vi điều khiển

TensorFlow Lite for Microcontrollers đượ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ỉ với vài kilobyte bộ nhớ. Môi trường 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 mô hình cơ bản. Tính năng này không yêu cầu hỗ trợ hệ điều hành, bất kỳ thư viện C hoặc C++ chuẩn nào hay phân bổ bộ nhớ động.

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

Bộ vi điều khiển thường là các thiết bị điện toán nhỏ, công suất thấp được nhúng trong phần cứng cần đến các phép tính cơ bản. Bằng cách đưa công nghệ học máy vào những bộ vi điều khiển nhỏ xíu, chúng ta có thể tăng cường trí thông minh của hàng tỷ thiết bị mà chúng ta sử dụng trong cuộc sống, bao gồm cả thiết bị gia dụng và thiết bị Internet của vạn vật, mà không cần dựa vào phần cứng đắt đỏ hoặc kết nối Internet đáng tin cậy. Những thiết bị này thường bị hạn chế về băng thông và điện năng, dẫn đến độ trễ cao. Điều này cũng có thể giúp bảo vệ quyền riêng tư vì không có dữ liệu nào 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 thói quen hằng ngày của bạn, các cảm biến công nghiệp thông minh hiểu được sự khác biệt giữa vấn đề và hoạt động bình thường, hay đồ chơi kỳ diệu có thể giúp trẻ học tập theo cách thú vị và thú vị.

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

TensorFlow Lite cho Vi điều khiển được viết bằng C++ 17 và cần có nền tảng 32 bit. API này đã được thử nghiệm rộng rãi trên nhiều bộ xử lý dựa trên kiến trúc Arm Cortex-M Series và đã được chuyển sang các kiến trúc khác, bao gồm cả ESP32. Khung này được cung cấp dưới dạng một thư viện Arduino. Thư viện này cũng có thể tạo các dự án cho môi trường phát triển, chẳng hạn như Mbed. Đây là mã nguồn mở và có thể được đưa vào mọi dự án C++ 17.

Các bảng phát triển sau đây được hỗ trợ:

Khám phá ví dụ

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

Quy trình làm việc

Bạn cần thực hiện các bước sau để 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 thư viện C++ và xử lý kết quả.

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

TensorFlow Lite dành cho Bộ vi điều khiển được thiết kế cho những hạn chế cụ thể trong quá trình 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 mẽ hơn (ví dụ: một thiết bị Linux được nhúng như Rappberry Pi), thì khung TensorFlow Lite tiêu chuẩn có thể dễ tích hợp hơn.

Bạn nên cân nhắc các giới hạn sau:

  • Hỗ trợ một tập hợp con có giới hạn của các thao tác TensorFlow
  • Chỉ hỗ trợ 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ợ tính năng huấn luyện trên thiết bị

Các bước tiếp theo