Sayfalar

PySide etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
PySide etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Cuma, Haziran 30, 2017

Python ile OpenCv


Malumunuz "OpenCv Görüntü İşleme ve Yapay Öğrenme" adlı bir kitabımız var. Hali hazırda 2. baskısı piyasada.  Bidiğiniz gibi kitabımızda konuları C++ bazlı anlattık.  Derin öğrenme konuları yüzünden Python diline geçdik.  OpenCv de lazım oluyor elbette.

OpenCv yi python ile kullanmak zor değil. Zaten python dili resmi olarak destekleniyor. OpenCv kurulumunda seçenek olarak python eklentisi bulunuyor.

Kitap içindeki örnekleri python ile tekrar yazmaya giriştim. Yeni baskısı olsunda python kısımı eklerim gibi bir durum ufukta görünmüyor malesef. Hali hazırda bir sene önce basılan kitaplardan epey var hala.

Bu durumda ; kitaptaki örnek derslerin python halini github'a attım. Çok karmaşık örnekler değil ama illa açıklama siterseniz kitaba bakmanız gerekebilir.  Hali hazırda ilk 6 ders var.

github.com/birolkuyumcu/opencvbook_python

Fırsat buldukça tamamlamaya çalışacağız bakalım kısmet...

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

Çarşamba, Kasım 09, 2016

Pratik Caffe


Geçen hatfa sonu Caffe hakkında Ankara-Deep-Learning meetup gurubunun düzenlediği bir etkinlikte  bir sunum yaptık.

Sunumda Neler Anlattık
  • Caffe Nedir , Niçin Caffe
  • CNN nedir
  • Caffe Windows Derlenmesi ve kurulması
  • Komut satırı programlarla kullanım  ( caffe , convert_image_set , compute_image_mean )
  • Caffede kullanılan dosyalar ( Ağ model dosyası, Solver , ... )
  • Uygulama - Renk Tanıma 
  • Veri seti nasıl hazırlanır, 
  • Eğitim
  • Test 
Sonu biraz vakit darlığından aceleye geldi ama kullanılan kodlar ve bat dosyalar verildi

Sunuma : Burdan Ulaşabilirsiniz
Kod ve Veri Setini :  Burdan indirebilirsiniz
Derlenmiş Caffe : Burdan indirebilirsiniz
Offline Netscope - Caffe Ağ modellerini grafik olarak gösterir - 
github.com/birolkuyumcu/offline-netscope

Uygulama için 3 ayrı kodumuz var
  1. classify ipython notebook : Eğitilmiş Modelin kullanımını gösteriyor
  2. Test.py : Bir dizi görüntüler OpenCv ile yükleniyor caffede sınıflanıdırlıyor ve karşılaştırma -confusion- matrisi hesaplıyor 
  3. gui/colorRec.py : pySide ile  GUI yazıldı.
Önerilerinizi ve sorularınızı bekleriz....

Cumartesi, Temmuz 23, 2016

Twitter Gözetleyici




Uygulamalarımızda kullanmak için kütüphane arayışlarımız oluyor. Bu keşfettiğimiz kütüphaneleri inceliyoruz. Kullanma niyetinde olduklarımız içinde basit örnekler hazırlayıp nasıl kullanacağımızı anlamaya çalışıyoruz.  Bu günkü yazımızda böyle bir örnek çalışmamızdan bahsedeceğiz.

Uygulamamızın adı Twitter Gözetleyici. Çalışması şöyle. Sizin vereceğiniz  anahtar kelimenin geçtiği twitleri bulup ekranda kelime bulutu olarak göstermek. Belli zaman aralıkları ile bu işlemi tekrar etmek.

Kullandığımız kütüphanelerden bahsedelim.




pattern : http://www.cnts.ua.ac.be/pattern :
Antwerp üniversitesininin CLiPS (Computational Linguistics & Psycholinguistics) araştırma  merkezinde geliştirilmiş bir yazılım. Biz Twitterdan bilgi çekebilmek için kullandık ama çok daha geniş amaçlı bir kütüphane. Web üzerinden , google, wikipedia, bing, facebook,... vb pek çok kaynakdan kolaylıkla bilgi çekebilmeniz sağlayan bir bölümü var. Keza doğal dil işleme kısmıda var.

  • Data Mining: web services (Google, Twitter, Wikipedia), web crawler, HTML DOM parser
  • Natural Language Processing: part-of-speech taggers, n-gram search, sentiment analysis, WordNet
  • Machine Learning: vector space model, clustering, classification (KNN, SVM, Perceptron)
  • Network Analysis: graph centrality and visualization.
 Kaynak kod  : github.com/clips/pattern




wordcloud : Kelime bulutu oluşturmak içi yazılmış bir kütüphane.



Kaynak kod : github.com/amueller/word_cloud


Bu kütüphaneler dışında
 GUI için PySide kullandık. Birazda Unicode ile boğuştuk Python 2.x serisinde epey bir başınızı ağrıtıyor.

Pek çok eksiği var. Lakin üzerinde geliştirme yapma imkanınım olacağını sanmıyorum. Geliştimek isteyenlar yada kodu görmek isteyenler için;
Kodlar Burda : github.com/birolkuyumcu/twitterMonitor