Derin Öğrenme (Deep Learning) - Önemli Kütüphaneler

Theano

Yayın tarihi :14-Şub-22

Theano Nedir?

Theano, derin öğrenme çalışmalarında kullanılan, oldukça kapsamlı sinir ağı algoritmalarını yönetebilmek için gerekli tüm hesaplama türlerini işleyebilmek için spesifik geliştirilen ve diğer derin öğrenme kütüphanelerin atası olarak kabul edilen, Montreal Üniversitesi bünyesinde(2007 yılında) Python programla diline özgü geliştirilen oldukça popüler bir kütüphane olarak tanımlanabilinir. Bu kütüphane çalışmalar için özelleştirilmiş birçok matematiksel uzantıyı bünyesinde barındıran ve bu uzantılar sayesinde matematiksel ifadeleri(örn;matrisler) işleyebilmek ve analizleyebilmek için kullanılan oldukça önemli bir derleyicidir. Theano kütüphanesi kullanılarak yapılan hesaplama işlemlerinde, Python programlama dilinin temel kütüphanelerinden birisi olan NumPy'ın sözdizilimleriyle eşdeğer yazılır ve CPU veya GPU gibi gelişmiş sistemlerde üst düzey bir hızda çalışabilmek için geliştirilmiştir. Buradan da anlaşılacağı üzere Theano kütüphanesinin kullanılmasına bağlı olarak derin öğrenme-sinir ağ yapısında yüksek performanslı modeller oluşturulmaktadır. Ayrıca Theano kütüphanesi , derin öğrenme işleminin yapılacağı makinenin donanımsal özelliklerini analizler ve bu analizlemeye göre donanımsal bazda mümkün olan en yüksek performansın elde edilebilinmesi için bazı kod optimizasyonlarını kendi kendine kontrol edebilmektedir. Bu özelliğinden dolayı Theano, birçok araştırmacı ve geliştirmeci tarafından tercih edilmektedir. 

Yukarıda bahsedildiği üzere Theano'nın sözdizimi Numpy kütüphanesinin sözdizimiyle eşdeğerdir ve bu dizilim sembolik bir formdadır. Sözdiziminin sembolik bir formda bulunması ise bazen dezavantaj olarak ifade edilebilir. Çünkü, mevcut ifadelerin soyut bir formatta tanımlanmasından, işlenmesinden ve hesaplanmasından dolayı, yapay zeka alanında çalışma yapmak isteyen amatör geliştiricilerin çalışmaları yönetebilmeleri ve anlamaları zor sayılabilir. Bu durumdan dolayı ise genellikle Theano kütüphanesi alanında uzmanlaşmış kimseler tarafından tercih edilmektedir. 

 

Theano Nasıl Kurulur?

Theona kütüphanesi Python programlama dili içerisinde oldukça basit bir şekilde aktifleştirilmektedir. Bu bağlamda;

# Aşağıda verilen komut yazılarak kurulum sağlanır.
pip install theano

Çıktı:

Collecting theano
  Downloading Theano-1.0.5.tar.gz (2.8 MB)
Requirement already satisfied: numpy>=1.9.1 in c:\users\safa\anaconda3\lib\site-packages (from theano) (1.19.5)
Requirement already satisfied: scipy>=0.14 in c:\users\safa\anaconda3\lib\site-packages (from theano) (1.5.4)
Requirement already satisfied: six>=1.9.0 in c:\users\safa\anaconda3\lib\site-packages (from theano) (1.15.0)
Building wheels for collected packages: theano
  Building wheel for theano (setup.py): started
  Building wheel for theano (setup.py): finished with status 'done'
  Created wheel for theano: filename=Theano-1.0.5-py3-none-any.whl size=2668107 sha256=47a9b8974f9ebb5258ede9c5e8ee0aa35360c7d72e6fd41f113b5a58bad4be31
  Stored in directory: c:\users\safa\appdata\local\pip\cache\wheels\84\cb\19\235b5b10d89b4621f685112f8762681570a9fa14dc1ce904d9
Successfully built theano
Installing collected packages: theano
Successfully installed theano-1.0.5
Note: you may need to restart the kernel to use updated packages.

Başarılı bir kurulumun ardından Theona kütüphanesini çalışmalarda kullanabilmek için "tensor" alt paketi içe aktarılır(import ).

from theano import tensor

 Son olarak içe aktarılan "tensor" alt paketi içerisinde bulunan matematiksel uzantı sembollerini kullanabilmek için;

#Genel olarak "T" harfinde tanımlanır.
import theano.tensor as T

Böylelikle Theano kütüphanesi araçları "T" ifadesinde tanımlanır ve "T" komutuyla çağırılabilinir.

 

Theano Neden Kullanılır?

Theano kütüphanesi yukarıda ifade edildiği gibi Python programlama dilinin temel kütüphaneleri arasında sayılabilen NumPy kütüphanesi ile sembolik matematiksel ifadelere ev sahipliği yapan bir diğer kütüphane Sympy'ın birleştirilmesinden türetilen bir kütüphanedir. Theano kütüphanesi oluşturulurken iki farklı güçlü kütüphane kullanılması, Theano'un sahip olduğu özellikleri açısından geniş bir kapsam kazandığı anlamına gelmektedir. Bu bağlamda spesifik olarak bazı örnekler vermek gerekirse;

  • Sembolik Farklılaşma: Hem Numpy kütüphanesinin matematiksel araçlarına hem de Sympy kütüphanesinin sembolik araçlarına sahip olduğu için, gradyan hesaplamalarını otomatik bir şekilde sembolik grafikler çerçevesinde oluşturabilicek özelliğe sahiptir.
  • Kararlılık Optimizasyonu: Theano kütüphanesinin sahip olduğu bazı özelliklerden dolayı verisel düzeyde bulunabilecek bazı kararsız ifadeler tespit edilebilir. Bu tespit edilen değerleri ise değerlendirebilmek için daha yüksek kararlı araçları kullanabilir.
  • Uygulama Hızı Optimizasyonu: Yukarıda bahsedildiği üzere CPU ve/veya GPU gibi gelişmiş sistemlerde üst düzey bir hızda çalışabilmek için geliştirilmiştir. Bu durumdan dolayı ise standart çalışmalara göre daha hızlı sonuçlar üretebilmektedir.
Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.