Mikrodenetleyiciler için TensorFlow Lite

Mikrodenetleyiciler için TensorFlow Lite, yalnızca birkaç kilobayt belleğe sahip mikrodenetleyiciler ve diğer cihazlarda makine öğrenimi modellerini çalıştırmak için tasarlanmıştır. Çekirdek çalışma zamanı, bir Arm Cortex M3'te 16 KB'ye sığar ve birçok temel modeli çalıştırabilir. İşletim sistemi desteği, herhangi bir standart C veya C++ kitaplığı veya dinamik bellek ayırma gerektirmez.

Mikrodenetleyiciler neden önemlidir?

Mikrodenetleyiciler tipik olarak, temel hesaplama gerektiren donanıma gömülü küçük, düşük güçlü bilgi işlem cihazlarıdır. Küçük mikrodenetleyicilere makine öğrenimi getirerek, pahalı donanımlara veya genellikle bant genişliğine tabi olan güvenilir internet bağlantılarına güvenmeden, ev aletleri ve Nesnelerin İnterneti cihazları dahil, hayatımızda kullandığımız milyarlarca cihazın zekasını artırabiliriz. güç kısıtlamaları ve yüksek gecikme ile sonuçlanır. Bu, cihazdan hiçbir veri çıkmadığından gizliliğin korunmasına da yardımcı olabilir. Günlük rutininize uyum sağlayabilen akıllı cihazlar, sorunlar ile normal çalışma arasındaki farkı anlayan akıllı endüstriyel sensörler ve çocukların eğlenceli ve zevkli yollarla öğrenmesine yardımcı olabilecek sihirli oyuncaklar hayal edin.

desteklenen platformlar

Mikrodenetleyiciler için TensorFlow Lite, C++ 17'de yazılmıştır ve 32 bitlik bir platform gerektirir. Arm Cortex-M Serisi mimarisine dayanan birçok işlemciyle kapsamlı bir şekilde test edilmiş ve ESP32 dahil diğer mimarilere taşınmıştır. Çerçeve bir Arduino kütüphanesi olarak mevcuttur. Mbed gibi geliştirme ortamları için de projeler üretebilmektedir. Açık kaynaklıdır ve herhangi bir C++ 17 projesine dahil edilebilir.

Aşağıdaki geliştirme panoları desteklenir:

Örnekleri keşfedin

Her örnek uygulama Github'dadır ve desteklenen platformlara nasıl dağıtılabileceğini açıklayan bir README.md dosyasına sahiptir. Bazı örneklerde, aşağıda verildiği gibi, belirli bir platformu kullanan uçtan uca öğreticiler de vardır:

iş akışı

Bir mikrodenetleyicide bir TensorFlow modelini dağıtmak ve çalıştırmak için aşağıdaki adımlar gereklidir:

  1. Bir model eğitin :
  2. C++ kitaplığını kullanarak aygıtta çıkarım çalıştırın ve sonuçları işleyin.

sınırlamalar

Mikrodenetleyiciler için TensorFlow Lite, mikrodenetleyici geliştirmenin belirli kısıtlamaları için tasarlanmıştır. Daha güçlü cihazlar üzerinde çalışıyorsanız (örneğin, Raspberry Pi gibi yerleşik bir Linux cihazı), standart TensorFlow Lite çerçevesinin entegrasyonu daha kolay olabilir.

Aşağıdaki sınırlamalar dikkate alınmalıdır:

  • TensorFlow işlemlerinin sınırlı bir alt kümesi için destek
  • Sınırlı sayıda cihaz için destek
  • Manuel bellek yönetimi gerektiren düşük seviyeli C++ API
  • Cihazda eğitim desteklenmiyor

Sonraki adımlar