Bu içeriğimizde, Arduino makine öğrenimini inceliyoruz. Arduino geliştirme kartlarında ve benzer mikrodenetleyicilerde makine öğrenimine mi başlıyorsunuz? Python’da eğittiğiniz modeli Arduino, STM32, ESP32 gibi herhangi bir C++ projesinde çalıştırmak ister misiniz?
Arduino Makine Öğrenimi
Mikroişlemciler ve mikrodenetleyiciler, “uç yapay zeka” (TinyML) sayesinde düşük güç tüketimiyle cihaz üzerinde makine öğrenimi modellerini çalıştırır. Sensör füzyonu, anahtar kelime tespiti ve anormallik tespiti gibi uygulamalar için akıllı sistemlerde (IoT, otomotiv) optimize edilmiş kütüphanelerle doğrudan gömülü sistemlerde veri işleme ve örüntü tanıma sağlarlar.
Verileri Yüklemek
Bir sınıflandırıcıyı eğitmek için veriye ihtiyacımız var. Sıfırdan başlıyorsanız ve tercih ettiğiniz bir klasör yapısı yoksa, topladığınız verileri saklamak için düzenli bir klasör yapısı oluşturmanızı öneririz.
Bu klasörün içinde, sınıflandırmak istediğiniz sınıfların her biri için her satıra bir örnek koyarak .csv uzantılı özel bir dosya oluşturun. Bunu yaptıysanız, bu verileri yüklemek için sonraki işlevi kullanabilirsiniz.
Sınıflandırıcıyı Eğitmek
Verilere sahip olduğumuzda, sınıflandırıcıyı eğitebiliriz.
micromlgenpaketi (makine öğrenimi sınıflandırıcılarını düz C koduna taşıyabilen paket) aşağıdaki sınıfları destekler:
- Karar Ağacı(Decision Tree)
- Random Forest
- XGBoost
- Gauss NB
- Support Vector Machines(SVM)
- Relevance Vector Machines(RVM)
- SEFR
Bu yazıda Random Forest sınıfını kullanacağız, ancak kodun geri kalanını değiştirmeden diğer sınıflarla değiştirebilirsiniz.
Düz C Kodunu Dışa Aktarmak
Artık micromlgenpaketi kullanarak eğitilmiş sınıflandırıcıyı düz C koduna dönüştürebiliriz.
Arduino projenize aktarmanız gereken kod budur. Bu içerikteki öğreticilerle bütünlük sağlamak için, bu kodu model.h adlı bir dosya şeklinde kaydedin.
Projede Kullanmak
Artık doğrudan mikrodenetleyicimizde Makine Öğrenimini çalıştırmak için ihtiyacımız olan koda sahibiz.
Kaynak Kısıtlı Kartlar İçin Kısa Kontrol
- Modeli dışa aktarmadan önce özellik sayısını mümkün olduğunca sadeleştirin.
- Derleme sonrası flash ve RAM kullanımını mutlaka kontrol edin.
- Sınıflandırma gecikmesini seri port loglarıyla ölçün.
- Gerekirse daha küçük model/parametrelerle yeniden eğitim yapın.
Her şey sorunsuz gittiyse, mikrodenetleyiciniz makine öğrenimi modelini stabil şekilde çalıştırıyor olacaktır.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.

