TensorFlow Lite untuk Mikrokontroler

TensorFlow Lite untuk Mikrokontroler dirancang untuk menjalankan model pembelajaran mesin pada mikrokontroler dan perangkat lain dengan hanya beberapa kilobyte memori. 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, atau alokasi memori dinamis.

Mengapa mikrokontroler itu penting

Mikrokontroler biasanya kecil, perangkat komputasi berdaya rendah yang tertanam dalam perangkat keras yang memerlukan perhitungan dasar. Dengan menghadirkan pembelajaran mesin ke mikrokontroler kecil, kita dapat meningkatkan kecerdasan miliaran perangkat yang kita gunakan dalam kehidupan 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 latency 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, dan mainan ajaib yang dapat membantu anak-anak belajar dengan cara yang menyenangkan dan menyenangkan.

Platform yang didukung

TensorFlow Lite untuk Mikrokontroler ditulis dalam C++ 11 dan membutuhkan platform 32-bit. Ini telah diuji secara ekstensif dengan banyak prosesor berdasarkan arsitektur Arm Cortex-M Series , dan telah di-porting ke arsitektur lain termasuk ESP32 . Kerangka kerja ini tersedia sebagai perpustakaan Arduino. Itu juga dapat menghasilkan proyek untuk lingkungan pengembangan seperti Mbed. Ini adalah open source dan dapat dimasukkan dalam proyek C++ 11 apa pun.

Papan pengembangan berikut didukung:

Jelajahi 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 ujung ke ujung menggunakan platform tertentu, seperti yang diberikan di bawah ini:

alur kerja

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

  1. Melatih model :
    • Buat 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 byte C 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 kendala khusus pengembangan mikrokontroler. Jika Anda bekerja pada perangkat yang lebih canggih (misalnya, perangkat Linux yang disematkan seperti Raspberry Pi), kerangka kerja TensorFlow Lite standar mungkin lebih mudah untuk diintegrasikan.

Batasan berikut harus dipertimbangkan:

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

Langkah selanjutnya