
Raspberry Pi ve Makine Öğrenmesi
Yeni bir startup olan Jetpac, görsel tanıma yazılımı Deepbelief’i farklı sistem ve cihazlar üzerinde kolayca kurulup kullanılabilir hale getirdi. Bu girişim, Raspberry Pi ve Makine Öğrenmesi açısından da önemli bir kazanım olacak gibi görünüyor.
DeepBelief sistemini Linux, iOS, OSX, Android, Raspberry Pi ve Javascript üzerinde kullanmak mümkün.
Bu yazımda DeepBelief’in Raspberry Pi üzerinde kurulumunu ve çalıştırılmasını ele alacağım.
Aynı konu http://www.instructables.com/id/Machine-learning-with-Raspberry-Pi/ adresinde işlenmiş. Ancak orada verilen direktifler benim kullandığım Raspberry Pi B+ v1.2 üzerinde biraz sorun yarattı. Ama bu sorunun çözümü de var.
Şimdi en başından başlayarak aşamalar halinde işlemlerimize geçelim:
1. Önce Raspi’ye bağlanalım: (Ben Ubuntu 16.04 üzerinde ssh komutuyla bağlanıyorum. Siz de kendi sisteminizin gerektirdiği şekilde veya cihazınıza klavye, fare ve ekran bağlayarak çalışabilirsiniz.)
Uzaktan bağlanabilmek için Raspinin IP numarasını bilmeniz gerekir. Bu amaçla
1 |
sudo nmap -sP 192.168.1.* |
komutunu kullanabilirsiniz. sudo kullanırsanız, root yetkisiyle daha ayrıntılı bir rapor alırsınız.
1 |
ssh pi@192.168.1.33 |
2. GPU kullanımı için bellek tanımlama:
1 |
sudo nano /boot/config.txt |
Dosyanın sonuna aşağıdaki satırı ekleyelim:
1 |
gpu_mem=128 |
3. Bellekte yaptığımız değişikliğin sistem tarafından algılanması için cihazımızı yeniden başlatalım:
1 |
sudo reboot |
4. Raspinin kendini yeniden başlatması birkaç dakika sürebilir. Yeteri kadar bekledikten sonra yeniden bağlanalım.
1 |
ssh pi@192.168.1.33 |
5. Dosyalarımızı github üzerinden indireceğimiz için git uygulamasını kurmamız gerekiyor.
1 |
sudo apt-get install git |
6. Artık DeepBeliefSDK dosyalarını indirip kurulumunu yapabiliriz.
1 2 3 |
git clone https://github.com/jetpacapp/DeepBeliefSDK.git cd DeepBeliefSDK/RaspberryPiLibrary sudo ./install.sh |
7. Kurulumu yaptık. Sonucu denetlemek için örnek uygulamayı çalıştıralım:
1 2 3 |
cd ../examples/SimpleLinux/ make sudo ./deepbelief |
Eğer herşey yolunda gittiyse 998 satırlık bir rapor elde edeceksiniz.
Ya da benim gibi “Can’t open device file: /var/lib/jpcnn/char_dev” mesajını alacaksınız. Bu hata mesajından kurtulmak için aşağıdaki komutları verin:
1 2 |
sudo rm /var/lib/jpcnn/char_dev sudo ln -s /dev/vcio /var/lib/jpcnn/char_dev |
Artık uygulamamızı yeniden çalıştırabiliriz:
1 |
sudo ./deepbelief |
Elde edeceğimiz rapor resimdekine benzeyecektir.
deepbelief uygulaması, herhangi bir parametre verilmeden çalıştırıldığı zaman “lena.png” dosyasını varsayılan olarak yükler ve öntanımlı imagenet nesneleriyle karşılaştırarak benzerlik oranlarını bulur.
Raporda sıra no, benzerlik olasılığı ve nesne etiketi sıralanır.
En büyük olasılığa sahip olan görüntülerle eşleşme gerçekleşmiştir diyebiliriz.
Eğer sonuçları olasılık değerine göre sıralarsak, benzerlikleri yorumlamamız daha kolay olur.
İstediğiniz bir başka görseli taratmak isterseniz, adını parametre olarak vermek gerekir. Örneğin “cicek.jpg” dosyasını taratmak istediğimizde vereceğimiz komut şöyledir:
1 |
sudo ./deepbelief cicek.jpg |
DeepBelief sistemini Ubuntu üzerinde kurmak çok daha kolay oluyor. Siz de kendi sisteminizde deneyin.
Ahmet Aksoy
Referanslar:
- http://www.instructables.com/id/Machine-learning-with-Raspberry-Pi/
- https://www.jetpac.com/deepbelief
- http://petewarden.com/2014/06/09/deep-learning-on-the-raspberry-pi/
- https://github.com/jetpacapp/DeepBeliefSDK/tree/master
Deepbelief uygulamasını Raspian Stretch kurulu Raspberry Pi 3 B üzerinde denedim. Derlemede vb hiç bir sorun yok. Ancak ./deepbelief komutunu verince cihaz kitleniyor.
İnternet üzerinde bu durumla ilgili bir kaç öneri var. Fırsat bulduğumda onları da test edeceğim.
Şimdilik Deepbelief sistemi sadece RPi 2 üzerinde çalışıyor diyebiliriz.