Mikrodenetleyiciler için TensorFlow Lite

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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 sadece 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. Arm Cortex-M Serisi mimarisine dayanan birçok işlemci ile kapsamlı bir şekilde test edilmiştir ve ESP32 dahil diğer mimarilere taşınmıştır. Ç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 Github'dadır ve desteklenen platformlarına nasıl dağıtılabileceğini açıklayan bir README.md dosyasına sahiptir. 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 eğitin :
    • Hedef cihazınıza uyan ve desteklenen işlemleri içeren küçük bir TensorFlow modeli oluşturun .
    • TensorFlow Lite dönüştürücüyü kullanarak bir TensorFlow Lite modeline dönüştürün .
    • Aygıtta salt okunur bir program belleğinde depolamak için standart araçları kullanarak bir C bayt dizisine dönüştürün .
  2. C++ kitaplığını kullanarak cihaz üzerinde çı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 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:

  • 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