Derin öğrenme konusunda donanım olarak çözümler sunan NVIDIA, ilgili bilim insanları için NVIDIA DiGiTS uygulamasını kullanıma sundu. NVIDIA DiGiTS, yani Derin Öğrenme GPU Eğitim Sistemi (Deep Learning GPU Training System – DIGITS) Yangqing Jia tarafından geliştirilen programlama yapmaksızın kullanılan Caffe isimli derin öğrenme aracını web arayüzü desteği sağlayarak görselleştirdi.
Geçtiğimiz ay (Mart 2015) San Francisco’da (ABD) yapılan GPU Teknoloji Konferansı’nda NVIDIA CEO’su ve Kurucu Ortağı olan Jen-Hsun Huang tarafından Derin Öğrenme konusunda yine ilginç bir sunum yapıldı. Jen-Hsun Huang bilindik bir CEO’dan ziyade sadece firmanın ürettiği ürünleri değil ürünlerin kullanıldığı alanlarda ihtiyaç duyulan akademik bilgiyi bir akademisyen gibi izleyiciye aktardı. Jen-Hsun Huang bu konuşmasında yeni nesil GPU TITAN X‘in yanında derin öğrenmenin işleyişi ve bu kapsamda geliştirdikleri NVIDIA DIGITS arayüzünü tanıttı.
Bu yazıda NVIDIA DiGiTS arayüzünün kullanımını örnek üzerinden anlatmaya çalışacağım. Şu anda (Nisan 2015) NVIDIA DiGiTS UBUNTU 14.04 için indirlebilir olarak sunuldu. Diğer linux sürümlerinde çalışma durumunu test etmediğim için yorum yapamayacağım. Şimdi kuruluma geçelim.
İçerik Tablosu
Kurulum
Gereklilikler:
CUDA sürücüsünün 346 veya daha sonraki sürümünün kurulu olması gereklidir. Eğer sürücü ihtiyacınız varsa http://www.nvidia.com/Download/index.aspx adresinden indirebilirsiniz.
NVIDIA DIGITS indirmek için aşağıdaki adrese gidin.
https://developer.nvidia.com/digits
İndirdiğiniz arşiv dosyasının dizinine giderek aşağıdaki komutu çalıştırın.
% tar xvf digits-1.0.tgz
Açtığınız arşiv dizinine girmek için aşağıdaki komutu çalıştırın.
% cd digits-1.0
Kurulum için aşağıdaki one_time kodunu çalıştırın (Bu kodu bir daha çalıştırmayın).
% ./one_time.sh
DiGiTS’i Başlatma
Ve DIGITS’i başlatın.
% ./runme.sh
İlk seferinde DIGITS başlarken aşağıdaki bazı dizinlerin yerlerini soracaktır. Varsayılan (Default) değerler için Enter tuşuna basmanız yeterli olacaktır. Soru ekranı aşağıdaki gibidir.
./runme.sh
___ _ ___ _ _____ ___
| \(_)/ __(_)_ _/ __|
| |) | | (_ | | | | \__ \
|___/|_|\___|_| |_| |___/
Welcome to the DiGiTS config module.
Where is caffe installed? (enter "SYS" if installed system-wide)
[default is /home/username/digits-1.0/caffe]
(q to quit) >>>
Attached devices:
Device #0:
Name: GeForce GTX 980
Compute capability: 5.2
Memory: 4.0 GB
Multiprocessors: 16
Device #1:
Name: GeForce GTX 980
Compute capability: 5.2
Memory: 4.0 GB
Multiprocessors: 16
Input the IDs of the devices you would like to use, separated by commas, in order of preference.
[default is 0,1]
(q to quit) >>>
Where would you like to store jobs?
[default is /home/username/.digits/jobs]
(q to quit) >>>
What is the minimum log level that you want to save to your logfile? [error/warning/info/debug]
[default is info]
(q to quit) >>>
New config:
gpu_list - 0,1
secret_key -
log_level - info
jobs_dir - /home/ubuntu/.digits/jobs
caffe_root - /home/ubuntu/digits-1.0/caffe
* Running on http://0.0.0.0:5000/
Eğer herşey yolunda gittiyse aşağıdaki ekranı göreceksiniz. DIGITS web arayüzü 5000 portundan yayın yapmaktadır.
DiGiTS’i Kullanma
DiGiTS web kurulumu MNIST elyazısı rakam veritabanı kümesini ve doğrulama resimlerini içermektedir. MNIST elyazısı rakam veri seti mist_10k ve doğrulama resimleri ise mnist_test klasörü içindedir.
Veriseti (Datasets) Oluşturma
Sayfanın sol tarafında Datasets bölümünde, New Dataset altında yer alan mavi “Images” (Resimler) düğmesine tıklayarak “Classification” seçeneğini seçin. Bu işlem sonucunda “New Image Classification Dataset” sayfasına yönendirileceksiniz. MNIST elyazısı rakam veritabanı örneğimiz için aşağıdaki işlemleri yapınız:
Sol tarafta bulunan
Image type kutusunda varsayılan değer olan Color’ı Grayscale olarak değiştirin.
Image size kutularına 28 değerini girin. Bizim örneğimizde kullanacağımız resimlerin boyutu 28×28’dir.
Sağ tarafta bulunan
Use Image Folder sekmesinin altında yer alan Trainin Images seçeneği altındaki kutuya MNIST eğitim setinin bulunduğu dizini girin. Örnek veri seti DiGiTS’in kurulu olduğu ana dizin içinde yer almaktadır. Örneğin /home/super/downloads/digits-1.0/mnist_10k
Sayfanın altında bulunan
Dataset Name kutusuna verisetiniz için bir isim verin (Örn: mnist_10k) ve Create düğmesine tıklayın.
Model oluşturulurken, sayfanın sağ tarafında işlemin muhtemel tamamlanma süresini takip edebilirsiniz.
Veriseti eğitiminin tamamlanmasını müteakip ana sayfaya dönmek için Sayfanın enüstünde solda bulunan DiGiTS bağlantına tıklayın. Artık ana sayfada eğitilmiş veri setini görebilirsiniz.
Verisetini Eğitme
Sayfanın sağında bulunan Models bölümünde yer alan mavi “Images” (Resimler) düğmesine tıklayarak “Classification” seçeneğini seçin. Bu işlem sonucunda “New Image Classification Model” sayfasına yönendirileceksiniz. MNIST elyazısı rakam veritabanı örneğimiz için aşağıdaki işlemleri yapınız:
Sayfanın sol tarafında yer alan “Select Dataset” kutusundan mnist verisetini (mnist_10k) seçin.
Sayfanın sağında altta yer alan “Standart Networks” sekmesinde yer alan Network modellerinden “LeNet” seçeneğini seçin.
Sayfanın altında yer alan “Model Name” kutuna modelin ismini (Örn: mnist_10k) yazın.
“Create” düğmesine tıklayarak modeli oluşturun.
Model oluşturulurken, sayfanın sağ tarafında işlemin muhtemel tamamlanma süresini takip edebilirsiniz.
Model işlemimiz tamamlandıktan sonra modelimizi test etmek için sayfanın altına doğru gidin. Sol tarafta modeli test etmek için araçlar bulunmaktadır. Browse (gözat) düğmesine tıklayarak yerel dizininize göz atın. DiGiTS kurulum dizininde test_digits (/home/super/Downloads/digits-1.0/test_digits) adında klasör içinde test için çeşitli resimler bulunmaktadır. Dosya penceresi içinden bir resmi seçerek “Open(Aç)” düğmesine basın. Resim seçtikten sonra Model sayfasında “Test one image” düğmesine tıklayın.
DiGiTS, en iyi beş sınıflandırma sonucula birlikte yaptığı işlemleri görselleştirerek sunacaktır.
İlk örnek veri seti çalışmamız burada sona erdi. Bu örnekten sonra kendi resim setimle yaptığım çalışmada MNIST kadar olmasa da başarılı sonuçlar elde ettim. İlerleyen günlerde farklı örneklerle uygulamalarımıza devam edeceğiz.
HATIRLATMALAR:
Her seferinde DIGITS’i başlatmak için DIGITS’in kurulu olduğu dizine giderek aşağıdaki komutu çalıştırabilirsiniz.
% ./runme.sh
Özellikle Model oluştururken aşağıdaki gibi Cuda bellek problemi yaşabilirsiniz.
Yukarıdaki gibi bir hatada aşağıda Model oluşturma ekranında sayfanın solunda yer alan “Batch size” kutusundaki değeri elle girerek (Örn 20) model oluşturmayı deneyin.
İyi günler.









