TensorFlow, Google’ın açık kaynak kodlu makina öğrenmesi kütüphanesi ve özellikle derin öğrenme için kullanılıyor.

Derin öğrenme nedir?

Derin öğrenme, sinir ağlarına dayanıyor. Kısacası, bu ağlara büyük miktarda veri veriyorsunuz, onlar da bir görevi gerçekleştirmeyi öğreniyorlar. Bir sürü kahvaltı, öğle yemeği ve akşam yemeği fotoğrafları verirseniz, bir öğünü ayırt etmeyi öğrenebilirler.

Sözlü kelimeler verirseniz, ne dediğinizi ayırt etmeyi öğrenebilirler. Eski filmlerden biraz diyalog verirseniz, bir sohbet sürdürmeyi öğrenebilirler. (Kusursuz bir sohbet değil ama yine de oldukça iyi bir sohbet.)

Derin öğrenme konusunda daha fazla bilgi için bu siteye bakabilirsiniz.

Bu yazımda Ubuntu 16.04 üzerinde TensorFlow’a kısa bir başlangıç yapmaya çalışacağım.

TensorFlow dahil birçok makine öğrenmesi kütüphanesi ile geliştirilen projelerde genelde Python tercih ediliyor. Neden Python diye sorarsak hızlı geliştirme olanağı ve topluluk desteği diyebiliriz.

İlk olarak Python kurulumunu gerçekleştirelim ve sonrasında pip için güncelleme yapalım.

Son olarak hangi versiyonu kullanacağınıza göre TensorFlow kurulumunu başlatalım.

Eğer harici bir Nvidia ekran kartınız varsa GPU versiyonunu yoksa CPU versiyonunu tercih ediniz. Çünkü GPU versiyonu CPU versiyonuna kıyasla çok daha hızlıdır. Derin öğrenmede daha iyi sonuçlar almak için çok büyük veri setleri kullanıldığı için bu noktada performans çok önemlidir.

Harici ekran kartımız yok veya yeterli güçte değilse TensorFlow’un CPU versiyonunu kuralım. Yeni bir sürüm çıkığında kurduğunuz sürümü pip ile son sürüme güncelleyebilirsiniz.

GPU’ların CPU’nun yapacağı işleri yapması gözle görülür derecede hız artışı sağlar. Bu desteği Nvidia CUDA ismini verdiği GPU üzerinde çalışmasını sağlayan geliştirme araçları kümesi (Toolkit) sayesinde gerçekleştirir. CPU üzerinde gerçeklemesi zor olan büyük işlemlerde CUDA işlemi daha küçük parçalara ayırıp paralel olarak yaptığı için büyük avantaj sağlar.

CUDA konusunda daha fazla bilgiyi şuradan edinebilirsiniz.

GPU’nuzun CUDA desteğini şuradan kontrol edebilirsiniz. TensorFlow’u CUDA desteği ile çalıştırabilmek için 3.0 ve üzeri bir Compute Capability değerine sahip bir ekran kartına sahip olmanız gerekmektedir.

CUDA kurulumuna geçmeden önce ekran kartınızın sürücüsünü (driver) kurmalısınız. Bu işlemi PPA ile yapabilirsiniz.

Bu işlemden sonra Ubuntu’daki Additional Drivers kısmından sürücünüzü kolaylıkla kurabilirsiniz.

CUDA Toolkit 8.0’ı Ubuntu 16.04 sistemimize kurmak için ilk olarak şuradan debian paketini (1.8 GB) indirmeliyiz. Daha sonra aşağıdaki şekilde kurulumumuzu gerçekleştirelim.

CUDA kurulumunun son aşaması olarak PATH sistem değişkenini tanımlayalım.

cuDNN adında bir kütüphane daha mevcut. cuDNN kısaca CUDA’nın derin öğrenmeye göre optimize edilmiş bir versiyonudur. Çok katmanlı yapay sinir ağlarında büyük bir performans artışı sağlar. cuDNN’ı kullanabilmek için şuradan Nvidia geliştirici hesabı oluşturmanız gerekiyor. Ardından cuDNN’ı şuradan indirebilirsiniz. İndirdiğimiz debian paketini GDebi ile kurabilirsiniz.

Gerekli kurulumları bitirdikten sonra son olarak TensorFlow’un GPU versiyonunu kuralım. Yeni bir sürüm çıkığında kurduğunuz sürümü pip ile son sürüme güncelleyebilirsiniz.

Hello world ile TensorFlow’a bir giriş yapalım

TensorFlow’da bazı işlemlerde kullanılmak üzeri sabit olarak constant kullanılıyor. Çıktının gösterilmesi aşamasında ise Session yapısı kullanılıyor.

Şimdi de TensorFlow ile basit işlemler gerçekleştirelim

İlk olarak x1 ve x2 adında iki sabit tanımlayıp ardından toplama, çıkarma ve çarpma işlemleri için TensorFlow’da tanımlı olan fonksiyonları (add, sub, mul) kullandık.

Daha sonra matris çarpımı için matmul fonksiyonunu, doğrusal aralıklı bir vektör dizisi oluşturmak için de linspace fonksiyonunu kullandık.

Son olarak bu işlemlerin sonuçlarını atadığımız değişkenleri Session içerisinde print fonksiyonuyla ekrana yazdırdık.

Bir blog yazısının daha sonuna geldik TensorFlow ile MNIST Örneği adlı diğer blog yazıma da göz atabilirsiniz.



Emre Durukan

Teknoloji Meraklısı

emredurukn

emredurukn


Published