PyTorch Nedir?

Ayla Bilgin
3 min readMay 7, 2021

--

Bu yazıda son zamanlarda çok fazla popüler olan ve oldukça sık kullanılan PyTorch’un ne olduğundan; TensorFlow ve Keras ile karşılaştırdığımızda avantajlarından ve dezavantajlarından bahsedeceğiz.

PyTorch henüz yeni bir derin öğrenme kütüphanesi olsa da çok hızlı bir şekilde gelişmekte ve tercih edilmekte.

[1]

Şimdi biraz bahsedelim. PyTorch 2017 yılında Facebook tarafından Torch’a bağlı Python tabanlı ve açık kaynaklı makine öğrenmesi kütüphanesi olarak yayınlanmıştır. Ayrıca C/C++ arabirimi de bulunmaktadır. Grafik işlem birimlerini kullanarak daha hızlı bir deneyim sunmaktadır. Bu durum onu diğer kütüphanelerden üstün ve tercih edilebilir kılmaktadır. Pythonic dediğimiz yapıda yani Python içerisindeki çeşitli kütüphanelerle (numpy…)daha uyumlu çalıştığı için de tercih edilme oranı yüksektir. Ayrıca anlaması kolay ve basittir.

Tek bir Back/End üzerinden hareket etmez. GPU’lar için farklı modeller sunar. Back/End dediğimiz şey ise arkada planda bulunan server’a ve taban yazılımını geliştirme işine verilen isimdir. Dinamik hesaplamalı grafiklerini kullanır. Dinamik hesaplamalı grafiklerin avantajı, giriş verilerinde değişen miktarlara uyum sağlama yeteneğini bulundurur.

Peki bu kadar bahsettikten sonra kısaca TensorFlow ve Keras’tan da bahsedelim.

[2]

Keras, makine öğrenmesinde kullanılan Python için bir derin öğrenme kütüphanesidir. Keras’ın en büyük avantajı TensorFlow, Theano gibi kütüphanelerin üzerinde çalışabilmesidir. Kolay ve hızlı erişilebilir olduğu için yeni başlayanlar için idealdir. CPU’da ve GPU’da çalışabilir. Zaman kazanmak için istediğiniz tercihi yapabilirsiniz. Evrişimli sinir ağlarını (CNN) ve yinelemeli sinir ağlarını (RNN) destekler. Büyük şirketlerde çok fazla kullanıcısı bulunması nedeniyle internette oldukça fazla kaynak bulunmakta, bu nedenle bir sorunla karşılaşıldığında çözüm daha basit hale geliyor.

TensorFlow da aynı şekilde açık kaynak kodlu bir derin öğrenme kütüphanesidir. CPU ve GPU’da kullanılabilir. Python temelinde dayansa da birden fazla dili (C++, Java, C#, Javascript, R…) desteklemektedir.

Keras ve TensorFlow için daha önce yazdığım ayrıntılı yazıma bu linkten ulaşabilirsiniz.

Bir de bu üç derin öğrenme kütüphanesini karşılaştıralım.

[3]

API Seviyesi:

  • Keras daha önce bahsettiğimiz gibi üst düzey bir API’dir.
  • TensorFlow, hem yüksek hem de düşük seviyeli API’ler sağlayabilir.
  • PyTorch, daha çok doğrudan çalışmaya odaklanan daha düşük seviyeli bir API’dir.

Hız:

  • Performans olarak sıralayacak olursak yavaştan hızlıya doğru; Keras, TensorFlow ve PyTorch olarak sıralayabiliriz.

Mimari:

  • Keras, basit bir mimariye sahiptir. Daha okunaklı bir yapıdadır.
  • TensorFlow, Keras’la beraber kullanılabilse de çok da kolay bir kullanımı yoktur.
  • PyTorch da karmaşık bir mimariye sahiptir. Bu yönden Keras ile karşılaştırıldığında anlaşılabilirliği daha azdır.

Hata Ayıklama:

  • Keras üzerinde hata ayıklama ihtiyacı genelde az olur.
  • TensorFlow’da hata ayıklama işlemi oldukça zordur.
  • PyTorch’u bu yönden kıyaslamak gerekirse hem TensorFlow’dan hem de Keras’tan daha iyi hata ayıklama yeteneğine sahiptir diyebiliriz.

Veri Kümesi:

  • Keras yavaş olduğu için daha küçük veri setleri için kullanılır.
  • TensorFlow ve PyTorch, yüksek performanslı modeller ve büyük veri setleri için kullanılabilir.

Popülerlik:

  • Aslında bu sektörün büyümesiyle her kütüphane oldukça popüler.
  • Keras daha basit ve sade olduğu için bu listenin başında diyebiliriz.
[4]

Kısaca PyTorch’u nasıl yükleyeceğimizden bahsedip bu yazıyı sonlandıralım.

pip install torch torchvision
veya
pip3 install torch torchvision

Bu kodlar ile kurulum tamamlanacaktır.

Şimdilik yazıyı burada bitiriyorum, bir sonraki yazıda PyTorch ile bazı örnek uygulamalar yapacağız. Görüşmek üzere…

--

--