Perşembe, Mayıs 11, 2017

CaffeNetViewer Caffe için görselleştirme uygulaması





Derin öğrenme ile ilgili kütüphaneler için yazılmış işimizi kolaylaştıran pek bir gui yoktur. Mesela Cafffe için  NVDIA nın Digits ürünü dışında herhangi bir uygulamayla karşılaşmadım. Digits ürünüde eğitim için yazılmış bir uygulama ve arka planda caffenin kendilerine has bir versiyonu üzerinde çalışıyor. Kullanıcının işlerinin kolaylaştırılmamasının sebebi ne  derseniz. Halen aktif geliştirme aşamasında olan sistemler. Geliştiriciler yeni özellikler, optimizasyonlar vs konularda oldukça meşguller. Kullanıcılar mecburen kendi başlarının çaresine bakmak zorunda kalıyorlar. Kendileri için bir şeyler geliştirenler olsada pek dışarıya açılmıyor.

Caffe ile olan çalışmalarda bizde mecburen kendi işlerimizi kolaylaştıran pek çok kodlar yazdık. Bu yazımızda benzeri ihtiyaçlar için yazdığımız bir uygulamanın sağını solunu düzeltip yayınlamak istiyoruz. 

Uygulamamızın adı CaffeNetViewer. Caffe Ağ yapısı ve ağın içinde verinin ne şekilde değişimlere uğradığını görebileceğimiz bir uygulama. Kullanımından bahsedelim.


Öncelikle Yüklenmesi gereken dosyaları  seçiyoruz
  •  Model dosyası (*.prototxt) 
  • Ağırlık dosyası (*.caffemodel)
  • Ağı çalıştırmak için kullanacağımız Görüntü dosyası
Sonrasında ağı çalıştırıyoruz.  Data katmanı olan giriş görüntüsünü ekranda gosterir. Ağın katmanları text olarak gösterilirilir. Katman ismi Tipi ve ebatları gösterilir.


Bundan sonra katmanlar arasında gezinti yapıp katman çıkış değerlerini görebilirsiniz


Katmanların çıkışlarını toplu olarak görebileceğiniz gibi katman katmanda görebiliyorsunuz.



Eksik olan kısımlar var. Fırsat bulursak tamamlamaya çalışacağız.

Kullanabilmeniz için yüklemeniz gereken paketler
  • Caffe ve  pyCaffe
  • OpenCv
  • pySide
Koda burdan ulaşabilirsiniz
github.com/birolkuyumcu/caffeNetViewer

Görüş ve önerilerinizi bekleriz

4 yorum:

tugba dedi ki...

Erdem Tüzen'in tavsiyesi ile keşfettiğim blogunuzu çok faydalı buluyorum, Başarılarınızın devamını dilerim.

lokman dursun dedi ki...

tebrik ederim gerçekten çok yararlı bir çalışma olmuş.

Kağan Taşkın dedi ki...

Hocam öncelikle paylaşımlarınızdan dolayı teşekkür ediyorum.Ben 15 yaşında meraklı bir programlamacıyım. Şu anda yapmak istediğim olay bir fotoğraftaki insan nesnesini ayırt edebilmek. İnsan nesnesini tespit edebiliyorum ama dikdörtgen bir sonuç alıyorum. Hani böyle sıfır bir şekilde tespit edebilmem lazım. Bunun için neleri önerirsiniz ne yapmalıyım?

bluekid dedi ki...

semantik bölütleme yazılarına bakınız