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:
- Arduino Nano 33 BLE Algısı
- SparkEğlence Kenarı
- STM32F746 Keşif kiti
- Adafruit Kenar Rozeti
- Mikrodenetleyici Kiti için Adafruit TensorFlow Lite
- Adafruit Devre Bahçesi Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Wio Terminali: ATSAMD51
- Himax WE-I Plus EVB Uç Nokta Yapay Zeka Geliştirme Kartı
- Synopsys DesignWare ARC EM Yazılım Geliştirme Platformu
- Sony Spresense
Ö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:
- Hello World - Mikrodenetleyiciler için TensorFlow Lite kullanımının mutlak temellerini gösterir
- Mikro konuşma - "evet" ve "hayır" kelimelerini algılamak için mikrofonla ses yakalar
- Kişi algılama - Bir kişinin varlığını veya yokluğunu algılamak için kamera verilerini bir görüntü sensörüyle yakalar
iş akışı
Bir mikrodenetleyicide bir TensorFlow modelini dağıtmak ve çalıştırmak için aşağıdaki adımlar gereklidir:
- 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 .
- 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
- Örnek uygulamayı denemek ve API'yi nasıl kullanacağınızı öğrenmek için mikrodenetleyicileri kullanmaya başlayın .
- Kitaplığı kendi projenizde nasıl kullanacağınızı öğrenmek için C++ kitaplığını anlayın .
- Mikrodenetleyicilerde dağıtım için eğitim ve modelleri dönüştürme hakkında daha fazla bilgi edinmek için modeller oluşturun ve dönüştürün .