Mikrodenetleyiciler için TensorFlow Lite

Mikrodenetleyiciler için TensorFlow Lite, yalnızca birkaç kilobayt belleğe sahip mikro denetleyicilerde ve diğer cihazlarda makine öğrenimi modellerini çalıştırmak üzere 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ımın içine yerleştirilmiş küçük, düşük güçlü bilgi işlem cihazlarıdır. Makine öğrenimini küçük mikrodenetleyicilere getirerek, ev aletleri ve Nesnelerin İnterneti cihazları da dahil olmak üzere hayatımızda kullandığımız milyarlarca cihazın zekasını, genellikle bant genişliğine ve genellikle bant genişliğine tabi olan pahalı donanımlara veya güvenilir internet bağlantılarına güvenmeden 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, problemlerle normal çalışma arasındaki farkı anlayan akıllı endüstriyel sensörler ve çocukların eğlenceli ve keyifli bir şekilde öğrenmesine yardımcı olabilecek sihirli oyuncaklar hayal edin.

Desteklenen platformlar

Mikrodenetleyiciler için TensorFlow Lite, C++ 11'de yazılmıştır ve 32 bit platform gerektirir. Bu dayalı birçok işlemciler ile kapsamlı olarak test edilmiştir Kol Cortex-M Serisi mimarisi ve dahil olmak üzere diğer mimarileri taşıdık olmuştur ESP32 . Çerçeve bir Arduino kütüphanesi olarak mevcuttur. Ayrıca Mbed gibi geliştirme ortamları için projeler üretebilir. Açık kaynak kodludur ve herhangi bir C++ 11 projesine dahil edilebilir.

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

Örnekleri keşfedin

Her örnek uygulama üzerinde Github ve sahip README.md onun desteklenen platformlara dağıtılabilir anlatıyor dosyayı. Bazı örneklerde ayrıca aşağıda verildiği gibi belirli bir platformu kullanan uçtan uca öğreticiler bulunur:

iş akışı

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

  1. Bir model Train:
  2. Cihazda Run çıkarsama kullanarak C ++ kütüphanesi ve sonuçları işlemek.

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 gömülü bir Linux cihazı), standart TensorFlow Lite çerçevesini entegre etmek daha kolay olabilir.

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

  • Bir için Destek sınırlı alt kümesi TensorFlow operasyonlarının
  • 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