Mikrodenetleyiciler için LiteRT, makine öğrenimi modellerini çalıştırmak üzere tasarlanmıştır. mikrodenetleyicilerde ve yalnızca birkaç kilobayt belleğe sahip diğer cihazlarda kullanılabilir. İlgili içeriği oluşturmak için kullanılan temel çalışma zamanı, Arm Cortex M3'te 16 KB'a sığar ve pek çok temel çalışma zamanı ile modeller. İşletim sistemi desteği gerektirmez. Standart C veya C++ ya da dinamik bellek ayırmanızı sağlar.
Mikrodenetleyiciler neden önemlidir?
Mikrodenetleyiciler genellikle temel hesaplama gerektiren donanımlara yerleştirilmiş haldedir. Makineyi getirerek öğrendiğimizde, küçük mikrodenetleyicilere sahip olduğumuz milyarlarca ev aletleri ve internetin interneti de dahil olmak üzere hayatımızda kullandığımız Pahalı donanımlara veya güvenilir internet bağlantısı olmadan ihtiyacınız olan cihazlar ve çoğu zaman bant genişliği ve güç kısıtlamalarına tabi olan yüksek gecikmeye yol açar. Bu yöntem gizliliğin korunmasına da yardımcı olur. Çünkü hiçbir veri cihazdan ayrılır. Günlük rutininize uyum sağlayan akıllı cihazları hayal edin akıllı ve akıllı endüstriyel sensörleri problemler, normal işleyiş ve çocukların eğlenerek öğrenmesine yardımcı olabilecek sihirli oyuncaklar. bir araya getirmek.
Desteklenen platformlar
Mikrodenetleyiciler için LiteRT, C++ 17 sürümünde yazılmıştır ve 32 bit gerektirir platformu. Pek çok işlemciyle kapsamlı bir şekilde test edilmiştir. Arm Cortex-M Serisi benimsenmiş ve farklı mimarilere taşınmıştır. ESP32. İlgili içeriği oluşturmak için kullanılan çerçeve, Arduino kütüphanesi olarak da kullanılabilir. Aynı zamanda çeşitli paydaşlarla Mbed gibi geliştirme ortamları için uygundur. Açık kaynaktır ve her tür C++ 17 projesi için geçerlidir.
Aşağıdaki geliştirme kartları desteklenmektedir:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- STM32F746 Keşif Kiti
- Adafruit EdgeRozeti
- Mikrodenetleyiciler için Adafruit LiteRT Kiti
- Adafruit Circuit Playground 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 inceleyin
Her örnek uygulama açık
GitHub
ve desteklenen uygulamalara nasıl dağıtılabileceğini açıklayan bir README.md
dosyası içerir.
platformlar. Bazı örneklerde belirli bir
platformuna gidin:
- Hello World - LiteRT kullanımı hakkında temel bilgileri gösterir. Mikrodenetleyiciler
- Mikro konuşma - "Evet" kelimelerini algılamak için sesi mikrofonla yakalar ve "no"
- Kişi algılama - Evde olup olmadığını algılamak için kamera verilerini görüntü sensörüyle yakalar bir kişinin
İş akışı
Bir web sitesinde TensorFlow modeli dağıtmak ve çalıştırmak için kontrol edebilirsiniz.
- Model eğitme:
- Hedef cihazınıza uyan küçük bir TensorFlow modeli ve desteklenen işlemleri içerir.
- Şu dosyayı kullanarak LiteRT modeline dönüştürme: LiteRT dönüştürücü.
- Şu komutu kullanarak C bayt dizisine dönüştürün: standart araçları kullanarak program belleğinde bulunan salt okunur.
- C++ kitaplığını ve işlemi kullanarak cihazda çıkarım çalıştırma daha iyi olur.
Sınırlamalar
Mikrodenetleyiciler için LiteRT, sektörün belirli kısıtlamalarına geliştirmeyi öğreneceksiniz. Daha güçlü cihazlar üzerinde çalışıyorsanız ( gibi yerleşik bir Linux cihazı kullanıyorsanız, LiteRT çerçevesinin entegre edilmesi daha kolay olabilir.
Aşağıdaki sınırlamalar dikkate alınmalıdır:
- Şu grubun sınırlı bir alt kümesi için destek: TensorFlow işlemleri
- Sınırlı bir cihaz grubu için destek
- Manuel bellek yönetimi gerektiren düşük seviye C++ API
- Cihaz üzerinde eğitim desteklenmiyor
Sonraki adımlar
- Denemek için mikrodenetleyicileri kullanmaya başlayın API'yi nasıl kullanacağınızı öğreneceksiniz.
- C++ kitaplığını anlama hakkında daha fazla bilgi edinmek için kendi projenize ekleyebilirsiniz.
- Eğitim hakkında daha fazla bilgi edinmek için modeller oluşturma ve dönüştürme dağıtım için dönüşüm modellerine sahip olursunuz.