TensorFlow Lite untuk Mikrokontroler

TensorFlow Lite untuk Mikrokontroler dirancang untuk menjalankan model pembelajaran mesin pada mikrokontroler dan perangkat lain dengan memori hanya beberapa kilobyte. Runtime inti hanya muat dalam 16 KB pada Arm Cortex M3 dan dapat menjalankan banyak model dasar. Itu tidak memerlukan dukungan sistem operasi, pustaka C atau C++ standar apa pun, atau alokasi memori dinamis.

Mengapa mikrokontroler itu penting

Mikrokontroler biasanya berukuran kecil, perangkat komputasi bertenaga rendah yang tertanam di dalam perangkat keras yang memerlukan komputasi dasar. Dengan membawa pembelajaran mesin ke mikrokontroler kecil, kita dapat meningkatkan kecerdasan miliaran perangkat yang kita gunakan dalam hidup kita, termasuk peralatan rumah tangga dan perangkat Internet of Things, tanpa bergantung pada perangkat keras yang mahal atau koneksi internet yang andal, yang sering kali bergantung pada bandwidth dan kendala daya dan menghasilkan latensi tinggi. Ini juga dapat membantu menjaga privasi, karena tidak ada data yang keluar dari perangkat. Bayangkan peralatan pintar yang dapat beradaptasi dengan rutinitas harian Anda, 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 membutuhkan platform 32-bit. Ini telah diuji secara ekstensif dengan banyak prosesor berdasarkan arsitektur Seri Arm Cortex-M , dan telah dipindahkan ke arsitektur lain termasuk ESP32 . Framework ini tersedia sebagai library Arduino. Itu juga dapat menghasilkan proyek untuk lingkungan pengembangan seperti Mbed. Ini adalah open source dan dapat disertakan dalam proyek C++ 17 apa pun.

Papan pengembangan berikut didukung:

Jelajahi contoh-contohnya

Setiap contoh aplikasi ada di Github dan memiliki file README.md yang menjelaskan cara penerapannya ke platform yang didukungnya. Beberapa contoh juga memiliki tutorial end-to-end menggunakan platform tertentu, seperti yang diberikan di bawah ini:

Alur kerja

Langkah-langkah berikut diperlukan untuk menerapkan dan menjalankan model TensorFlow pada mikrokontroler:

  1. Latih model :
    • Hasilkan model TensorFlow kecil yang sesuai dengan perangkat target Anda dan berisi operasi yang didukung .
    • Konversikan ke model TensorFlow Lite menggunakan konverter TensorFlow Lite .
    • Konversikan ke array C byte menggunakan alat standar untuk menyimpannya dalam memori program hanya-baca di perangkat.
  2. Jalankan inferensi pada perangkat menggunakan pustaka C++ dan proses hasilnya.

Keterbatasan

TensorFlow Lite for Microcontrollers dirancang untuk batasan spesifik pengembangan mikrokontroler. Jika Anda bekerja pada perangkat yang lebih kuat (misalnya, perangkat Linux tersemat seperti Raspberry Pi), framework TensorFlow Lite standar mungkin lebih mudah diintegrasikan.

Keterbatasan berikut harus dipertimbangkan:

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

Langkah selanjutnya