TensorFlow Lite untuk Mikrokontroler

TensorFlow Lite untuk Mikrokontroler dirancang untuk menjalankan model machine learning pada mikrokontroler dan perangkat lain dengan hanya memori beberapa kilobyte. Runtime inti hanya berukuran 16 KB di Arm Cortex M3 dan dapat menjalankan banyak model dasar. API ini tidak memerlukan dukungan sistem operasi, library C atau C++ standar, atau alokasi memori dinamis.

Alasan pentingnya {i>microcontroller<i}

Mikrokontroler biasanya adalah perangkat komputasi kecil berdaya rendah yang disematkan dalam hardware yang memerlukan komputasi dasar. Dengan menghadirkan machine learning ke mikrokontroler kecil, kita dapat meningkatkan kecerdasan miliaran perangkat yang kita gunakan dalam kehidupan, termasuk peralatan rumah tangga dan perangkat Internet of Things, tanpa bergantung pada hardware mahal atau koneksi internet yang andal, yang sering kali terkena batasan bandwidth dan daya, serta menghasilkan latensi yang tinggi. Tindakan ini juga dapat membantu menjaga privasi, karena tidak ada data yang keluar dari perangkat. Bayangkan ada peralatan smart yang dapat beradaptasi dengan rutinitas sehari-hari, sensor industri cerdas yang memahami perbedaan antara masalah dan pengoperasian normal, serta mainan ajaib yang dapat membantu anak-anak belajar dengan cara yang menyenangkan dan menyenangkan.

Platform yang didukung

TensorFlow Lite untuk Mikrokontroler ditulis dalam C++ 17 dan memerlukan platform 32-bit. Ini telah diuji secara ekstensif dengan banyak prosesor berdasarkan arsitektur Seri Arm Cortex-M, dan telah ditransfer ke arsitektur lain termasuk ESP32. Framework tersedia sebagai library Arduino. Library ini juga dapat menghasilkan project untuk lingkungan pengembangan seperti Mbed. Layanan ini bersifat open source dan dapat disertakan dalam project C++ 17 apa pun.

Papan pengembangan berikut telah didukung:

Mempelajari contohnya

Setiap aplikasi contoh ada di GitHub dan memiliki file README.md yang menjelaskan cara aplikasi dapat di-deploy ke platform yang didukung. Beberapa contoh juga memiliki tutorial menyeluruh yang menggunakan platform tertentu, seperti yang diberikan di bawah ini:

Alur kerja

Langkah-langkah berikut diperlukan untuk men-deploy dan menjalankan model TensorFlow pada pengontrol mikro:

  1. Melatih model:
    • Buat model TensorFlow kecil yang sesuai dengan perangkat target Anda dan berisi operasi yang didukung.
    • Lakukan konversi ke model TensorFlow Lite menggunakan pengonversi TensorFlow Lite.
    • Konversikan ke array byte C menggunakan alat standar untuk menyimpannya dalam memori program hanya baca di perangkat.
  2. Jalankan inferensi pada perangkat menggunakan library C++ dan proses hasilnya.

Batasan

TensorFlow Lite untuk Mikrokontroler dirancang untuk batasan khusus pengembangan mikrokontroler. Jika Anda sedang mengerjakan perangkat yang lebih canggih (misalnya, perangkat Linux tersemat seperti Raspberry Pi), framework TensorFlow Lite standar mungkin lebih mudah diintegrasikan.

Batasan berikut harus dipertimbangkan:

  • Dukungan untuk subset terbatas operasi TensorFlow
  • Dukungan untuk serangkaian perangkat terbatas
  • C++ API tingkat rendah yang memerlukan pengelolaan memori manual
  • Pelatihan di perangkat tidak didukung

Langkah berikutnya