Mikrodenetleyiciler için TensorFlow Lite

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

Mikrodenetleyiciler neden önemlidir?

Mikrodenetleyiciler genellikle temel hesaplama gerektiren donanımlara gömülü, küçük ve düşük güçlü bilgi işlem cihazlarıdır. Makine öğrenimini küçük mikrodenetleyicilerle kullanıma sunarak, pahalı donanımlara veya güvenilir internet bağlantılarına ihtiyaç duymadan ev aletleri ve Nesnelerin İnterneti cihazları dahil hayatımızda kullandığımız milyarlarca cihazın zekasını güçlendirebiliyoruz. Bu da genellikle bant genişliği ve güç kısıtlamalarına tabi olan ve yüksek gecikmeyle sonuçlanıyor. Ayrıca cihaza hiçbir veri gitmediği için bu şekilde gizlilik de korunabilir. Günlük rutininize uyum sağlayabilen akıllı cihazlar, problemler ile normal çalışma arasındaki farkı anlayan akıllı endüstriyel sensörler ve çocukların eğlenceli ve keyifli şekillerde öğrenmelerine yardımcı olabilecek sihirli oyuncaklar hayal edin.

Desteklenen platformlar

Mikrodenetleyiciler için TensorFlow Lite, C++ 17'de yazılmıştır ve 32 bit platform gerektirir. Arm Cortex-M Serisi mimariye dayalı birçok işlemciyle kapsamlı şekilde test edilmiş ve ESP32'yi de içeren diğer mimarilere aktarılmıştır. Çerçeve, Arduino kitaplığı olarak da kullanılabilir. Ayrıca Mbed gibi geliştirme ortamları için projeler oluşturabilir. Açık kaynaklıdır ve tüm C++ 17 projelerine eklenebilir.

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

Örnekleri inceleyin

Her örnek uygulama GitHub'da bulunur ve desteklenen platformlara nasıl dağıtılabileceğini açıklayan bir README.md dosyasına sahiptir. Bazı örneklerde, aşağıda belirtildiği gibi belirli bir platformun kullanıldığı uçtan uca eğiticiler de bulunur:

İş akışı

Mikrodenetleyiciler üzerinde TensorFlow modeli dağıtmak ve çalıştırmak için aşağıdaki adımlar gereklidir:

  1. Model eğitme:
  2. C++ kitaplığını kullanarak cihazda çı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ına göre tasarlanmıştır. Daha güçlü cihazlar (örneğin, Raspberry Pi gibi yerleşik bir Linux cihaz) üzerinde çalışıyorsanız standart TensorFlow Lite çerçevesinin entegre edilmesi daha kolay olabilir.

Aşağıdaki sınırlamalar göz önünde bulundurulmalı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 düzey C++ API'leri
  • Cihaz üzerinde eğitim desteklenmez

Sonraki adımlar