Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Pratik Caffe Kullanımı
Birol Kuyumcu
Github
Linkedin
E-mail
Blog
Caffe Nedir
● Convolution Architecture For Feature Extraction
● Derin öğrenme kütüphanesi
● Açık kaynak kodlu & Geniş bir ...
Convolution
Yapay Sinir Ağı
CNN
Windows’da Kurulum
● Önce Yüklenecekler ;
●
Visual Studio
● CUDA ve cuDNN kütüphanleri ( NVIDIA)
●
Python – Anaconda 2.7 6...
● Resmi Windows Kurulumu
● Visual Studio 2013 ve Cuda 7.5 ‘i kurun
● Resmi Windows dalını harddiskinize indirin
● CommonSe...
Komut Satırı Programlar (Caffe)
Caffe <komut> <parametreler>
Komutlar :
train : Eğitmek yada eğitilmiş model üzerinde ince...
Komut Satırı Programlar (Caffe)
●
Parametreler
-gpu : İşlemlerin gpu üzerinden yapılacağını bildirir
-iterations : iterasy...
Komut Satırı Programlar
(Convert_imageset)
convert_imageset [parametreler] ana_dizin / dosya_listesi veritabanı_adı
-backe...
Komut Satırı Programlar
( compute_image_mean )
compute_image_mean [parametreler] Veritabanı Adı [Ortalama
Görüntü Dosyası ...
Caffe Dosyaları
● Ağ Model Dosyası : Ağ yapısını gösteren
prototxt formatında dosyalardır.
– Eğitim ve kullanım için ayrı ...
Ağ Model Dosyası
● Katmanlar Halinde yazılır
Ağ Model Dosyası
● Temel Katman Tipleri
– Data
– Convolution
– Pooling
– Aktivasyon
● Sigmoid
● ReLU
– InnerProduct
– Loss
Solver Dosyası
●
net : Ağ Model dosyasının adı prototxt formatında
●
test_interval: Kaç iterasyonda bir test uygulanacağın...
Hazır Modeller
Model Adı Top 1
Accuracy %
Top 5
Accuracy %
Iterasyon Not
AlexNet 57.1 80.2 360,000 2012
CaffeNet 57.4 80.4...
Hazır Modeller
Caffe - Zoo
Uygulama
● Problem Seçimi
● Veri Seti Hazırlama
● Model Seçimi ve Düzenleme
● Eğitim
● Test
Problem Seçimi
● Renk Tanıma
Problem Seçimi
● Renk Tanıma
Problem Seçimi
● Elbise Rengi Tanıma
Veri Seti Hazırlama
● Sınıfları belirleyin – 12 Renk -
● Her Sınıf için yeter miktarda veri toplayın
Ortalama 500 adet res...
Veri Seti Hazırlama
● Eğitim ve Test için liste hazırlamak
– CaffeUtility.py
● Listelerden veritabanına dönüşüm
– convert_...
● Model Seçimi ve Düzenleme
● Hazır Modellerden Birini seçin
– CaffeNet i seçtik
● Ağ Model Dosyasını düzenle
– Veri giriş...
Eğitim
● Solver dosyasını düzenleyin
● Caffe programını çalıştırın
● Loss ve Accuracy değerlerini takip edin
Test
● Classification – ipython notebook -
● Test.py
● Gui/colorRec.py
Test
Son
Pratik caffe
Upcoming SlideShare
Loading in …5
×

Pratik caffe

4,687 views

Published on

Pratik Caffe Sunumu
http://www.meetup.com/Ankara-Deep-Learning/events/235134662/

Published in: Software

Pratik caffe

  1. 1. Pratik Caffe Kullanımı Birol Kuyumcu Github Linkedin E-mail Blog
  2. 2. Caffe Nedir ● Convolution Architecture For Feature Extraction ● Derin öğrenme kütüphanesi ● Açık kaynak kodlu & Geniş bir camiası var ● C++ & CUDA / Python / Matlab ● Program Yazmadan : Komut Satırından Kullanım ● Program Yazmadan : GUI DIGITS ile Kullanım ● Çoklu GPU desteği ● Hazır Modeller ( Ağ yapısı + Eğitilmiş ) ● Windows Desteği
  3. 3. Convolution
  4. 4. Yapay Sinir Ağı
  5. 5. CNN
  6. 6. Windows’da Kurulum ● Önce Yüklenecekler ; ● Visual Studio ● CUDA ve cuDNN kütüphanleri ( NVIDIA) ● Python – Anaconda 2.7 64 bit - ● Windows Uyumlu Dağıtım Seç ● Caffe-Builder : ● github.com/willyd/caffe-builder ● Resmi Windows dalı : Microsoft öncülüğünde ● github.com/BVLC/caffe/tree/windows ● Derlenmiş Bul
  7. 7. ● Resmi Windows Kurulumu ● Visual Studio 2013 ve Cuda 7.5 ‘i kurun ● Resmi Windows dalını harddiskinize indirin ● CommonSettings.props.example -> CommonSettings.props ● Python dizninizi kendi Python kurulumunuza göre düzeltin <PythonDir>C:Anaconda2</PythonDir> ● CuDNN i indirin ve bir dizine açın yolunu belirtin <CuDnnPath>C:cuDNN</CuDnnPath> ● Caffe.sln dosyasını açın ve Relase olarak Derleyin ● komut satırı programlar ...Buildx64Relase dizini altında bulunur ● Python desteği için ...Buildx64Releasepycaffe dizinindeki caffe dizinini pythonLibsite-packages dizinine kopyalayın
  8. 8. Komut Satırı Programlar (Caffe) Caffe <komut> <parametreler> Komutlar : train : Eğitmek yada eğitilmiş model üzerinde ince ayar için kullanılır test : Eğitilmiş modeli test edip performansını hesaplar device_query : GPU donanımı hakkında bilgi verir time : Modelin çalışma zamanını ölçüp raporlar
  9. 9. Komut Satırı Programlar (Caffe) ● Parametreler -gpu : İşlemlerin gpu üzerinden yapılacağını bildirir -iterations : iterasyon sayısını ayarlar varsayılan değer 50 -model : model dosyasının adını verirsiniz ( prototxt ) -snapshot : yarıda kesilmiş eğitime daha önceden eğitim esnasında kaydedilmiş “.solverstate” uzantılı dosyayı kullanarak devam etmek için kullanılır -solver : .protoxt uzantılı eğitim parametrelerini yazdığınız dosyanın adı -weights : Eğitim transferi için daha önceden eğitilmiş olan .caffemodel uzantılı dosya adı
  10. 10. Komut Satırı Programlar (Convert_imageset) convert_imageset [parametreler] ana_dizin / dosya_listesi veritabanı_adı -backend : veritabanı türü halen iki seçenek var { lmdb, leveldb } ön tanımlı "lmdb" -encode_type : veritabanına atılacak verilerin kodlanma metodu ( 'png','jpg',...) gibi belirtilmezse olduğu gibi aktarılır -gray : mantıksal değişken bool eğer true ise görüntü siyah beyaz olarak aktarılır belirtilmediğinde olduğu gibi -resize_height : Görüntülerin sabit bir yüksekliğe çevirir -resize_width : Görüntülerin sabit bir genişliğe çevirir -shuffle : Listedeki sıralmayı karıştırır
  11. 11. Komut Satırı Programlar ( compute_image_mean ) compute_image_mean [parametreler] Veritabanı Adı [Ortalama Görüntü Dosyası Adı] Veritabanındaki görüntüler için bir ortalama görüntü - mean image - hesaplar ve kaydeder. compute_image_mean data-train data-mean.binaryproto compute_image_mean data-train data-mean.npy Gibi veritabanı veritabanı türü halen iki seçenek var {lmdb, leveldb} ön tanımlı "lmdb" diğer seçenek için -beckend “leveldb” ile beritmeniz gerekiyor.
  12. 12. Caffe Dosyaları ● Ağ Model Dosyası : Ağ yapısını gösteren prototxt formatında dosyalardır. – Eğitim ve kullanım için ayrı ayrı olur ● Solver Dosyası : Eğitim parametrelerinin ayarlandığı prototxt formatında dosyalardır. ● Ağırlık Dosyası : Eğitim sırasında ve sonucunda oluşturulan ağın ağırlıklarının tutulduğu uzantısı .caffemodel olan dosyalar
  13. 13. Ağ Model Dosyası ● Katmanlar Halinde yazılır
  14. 14. Ağ Model Dosyası ● Temel Katman Tipleri – Data – Convolution – Pooling – Aktivasyon ● Sigmoid ● ReLU – InnerProduct – Loss
  15. 15. Solver Dosyası ● net : Ağ Model dosyasının adı prototxt formatında ● test_interval: Kaç iterasyonda bir test uygulanacağını belirler ● base_lr : Başlangıç Öğrenme hızı ● lr_policy: Öğrenme Hızı değişim fonksiyonu ● momentum: Eğitim esnasında lokal minimumda takılmama ● weight_decay: Yapay Sinir Ağlarında yapının ezbere kaymasını önleme amaçlı ● iterations display: Eğitim durum gösterme işlemi kaç iterasyonda bir onu belirler ● max_iter : Maksimum iterasyon sayısını ayarlar ● snapshot: Kaç iterasyonda bir kayıt yapılacak (.caffemodel & .solverstate ) ● solver mode: Eğitim için işlem modu cpu yada gpu ● solver_type : Eğitim için kullanılacak eğitim metodu çözücü tipi
  16. 16. Hazır Modeller Model Adı Top 1 Accuracy % Top 5 Accuracy % Iterasyon Not AlexNet 57.1 80.2 360,000 2012 CaffeNet 57.4 80.4 310,000 GoogleNet 68.7 88.9 2,400,000 2014 VGG 76.3 92 2014 ResNet 80.62 95.5 2015
  17. 17. Hazır Modeller Caffe - Zoo
  18. 18. Uygulama ● Problem Seçimi ● Veri Seti Hazırlama ● Model Seçimi ve Düzenleme ● Eğitim ● Test
  19. 19. Problem Seçimi ● Renk Tanıma
  20. 20. Problem Seçimi ● Renk Tanıma
  21. 21. Problem Seçimi ● Elbise Rengi Tanıma
  22. 22. Veri Seti Hazırlama ● Sınıfları belirleyin – 12 Renk - ● Her Sınıf için yeter miktarda veri toplayın Ortalama 500 adet resim toplandı ● Çalışma koşullarına uygun çeşitlilikte olsun ● Doğru olsun
  23. 23. Veri Seti Hazırlama ● Eğitim ve Test için liste hazırlamak – CaffeUtility.py ● Listelerden veritabanına dönüşüm – convert_imageset ● Ortalama Görüntü Oluşturma – compute_image_mean
  24. 24. ● Model Seçimi ve Düzenleme ● Hazır Modellerden Birini seçin – CaffeNet i seçtik ● Ağ Model Dosyasını düzenle – Veri giriş dosyalarını güncelle – Ortalama Görüntü adını güncelle – Çıkış Sayısını Uygulamamıza göre -12 -düzenle ● Eğitim Transferi – Çıkış katman Öğrenme hızını artır – Ön katmanların Öğrenme hızlarını kıs – Ağırlık Dosyasını temin et
  25. 25. Eğitim ● Solver dosyasını düzenleyin ● Caffe programını çalıştırın ● Loss ve Accuracy değerlerini takip edin
  26. 26. Test ● Classification – ipython notebook - ● Test.py ● Gui/colorRec.py
  27. 27. Test
  28. 28. Son

×