Ana içeriğe atla

Derin Öğrenme ve Programlama Dilleri

 

    "Derin öğrenme nedir, ne işe yarar?" gibi soruları (ve cevaplarını) bir kenara bırakıyorum. Çünkü bu satırları okuyan, o aşamayı geçmiştir sanırım. Bu akşam veri biliminde ve yapay zekada en çok kullanılan programlama dillerinin hangileri olduğunu öğrendim. İlk sırada tabii ki Python var ki, zaten sürekli gündemimde. Diğerleri de sırasıyla C/C++, Java, R ve Javascript (diğerleri ile az ya da çok tanışmış vaziyetteyim ama, bakalım R ile ilk karşılaşmamız ne zaman olacak?). Günlük konuşma diline (İngilizce) yakın olması, açık kaynak kodlu olması Python dilini bu alanda da en üste taşımış durumda. Python ile tanışmam yaklaşık 6 sene önce oldu. O gün bugündür diğer dillere soğuk bakmaktayım. Ancak Processing yazılımı sayesinde Javascript'e biraz ısınmıştım ki, onun da Python versiyonu oldukça ilerledi ve ben bugünlerde orada da Javascript'le vedalaşmak üzereyim.

  Anladığım kadarıyla, Derin Öğrenme süreci de kütüphanelerle gerçekleşiyor. TensorFlow, Caffe, PyTorch, Keras ve başka da kütüphaneler var. Listeye baktığımızda, çoğunun Python kütüphanesi olduğunu net bir şekilde görüyoruz. Bir tanesi de Türkiye'de (Koç Üniversitesi'nde) Deniz Yüret tarafından geliştirilen KNet kütüphanesi. Julia ile programlanmış (notumu alıyorum, yerliden yanayız, buna bir el atacağız elbette...). Kütüphanelerin her birinin farklı açılardan avantajları var. Sanırım Keras kütüphanesi bu işe başlamak için elverişli. 

    Bu arada, bu işin veri kümeleri ile çalışma üzerinden yürüdüğü de açık. Bu nedenle, ücretsiz veri sağlanabilecek kaynakları bilmek önemli. Şimdilik şunları not edeyim:

UCI Machine Learning Repository: Data Sets

Kaggle Datasets

Google DataSets Tool

Bu kaynakların aynı zamanda makine öğrenmesi ve derin öğrenme açısından birer başvuru kaynağı olduğunu da görebiliyorum. İçerisinde öğreticiler (tutorials), kodlar, yarışmalar (gerçek hayat problemleri ile ilgili ve sanırım $para$ ödüllü:)) ve daha pek çok materyal barındırıyorlar. Bunları öğrendiğim  çok iyi oldu...

    Ya Derin Öğrenme uygulama ortamları? Ben Anaconda'dan vazgeçmeyi düşünmüyorum. Zaten yeni bir çok şey öğrenme durumundayım, bir de platforma alışma zorluğu çekmek istemiyorum. Anaconda iyidir, Jupyter de hoştur diye düşünüyorum.

15 GB drive alanı lazımmış, bu da yeni bir gmail hesabı demek. Zaten bu blog için yeni bir hesap açmıştım. O iş te tamam, bir sonraki yayında görüşmek üzere...

Yorumlar

Bu blogdaki popüler yayınlar

Colab Üzerinden Google Drive İle Bağlantı Kurma

 Aslında Colab, zaten drive üzerinde çalışıyor. O yüzden şu aşamada tam olarak ne işe yarayacağını bilemesem de, Python kodları ile drive belgelerine ulaşmak hoşuma gitti. Bir kod satırı açtıktan sonra from  google.colab  import  drive drive.mount( '/gdrive' ) %cd  /gdrive yazdım. Çalıştırınca bir bağlantı adresi ve authorization code girebileceğim bir pencere açıldı. Bağlantı adresine tıklayınca, ilgili Gmail hesabına giriş istedi ve bir şifre verdi. Bu şifreyi kopyalayıp Colab ortamındaki pencereye yapıştırdım. Böylece Colab üzerinden Google Drive erişimi gerçekleşmiş oldu. Örneğin; !ls yazdığımda, Drive içinde hangi klasörlerin olduğunu görebiliyorum. Belli bir klasörün içindeki başka bir klasöre gitmek istediğimde, ! ls  "/gdrive/MyDrive/DeepLearn" gibi bir kod yazabiliyorum. Burada "gdrive", Google Drive'ı simgeliyor. "MyDrive", zaten onun içinde hep var. DeepLearn ise, benin önceden oluşturduğum bir klasör. Command Prompt'ta olduğu g...

Colab ile Python Dosyası Açma

 Hiç kolay olmadı. Açmak istediğimiz Python dosyasını drive'da, Colab çalışma belgemizin bulunduğu klasöre indiriyoruz. Normalde Python çalıştırırken,  açmak istediğimiz dosya, resim, text vs.örneğin Spyder kurulu olan klasörde ise doğrudan açılıyordu. Ama burada öyle olmadı. Aynı klasörde olmalarına rağmen açmadı. Çünkü Python dosyasını drive'a indirdikten sonra sıfırlayıp  ! kill - 16  - 1 yazınca ilgili aralıktaki tüm hücreleri yok sayıp bir nevi resetlemiş oluyor. Daha sonra tekrar Colab üzerinden drive logini yapmak gerekti. Hatırlarsak from  google.colab  import  drive drive.mount( '/gdrive' ) %cd  /gdrive satırlarını çalıştırarak drive'a giriş yapıp şifre kopyalayıp girmiştik. Daha sonra import  os os.chdir( "/gdrive/My Drive/DeepLearn" ) ile Python dosyası ve Colab belgesinin bulunduğu (bendeki adı DeepLearn) klasöre girdik. Şimdi !ls yazınca bu klasördeki dosyaları gördük: Burada Deneme benim Colab belgem, Euroka5Kasım.py i...

Vektör, Matris ve Tensör Kavramları

 Vektörler satır ya da sütun şeklinde (tek boyutlu) oluyor. Yani bunlara "tek boyutlu" dersek, matrisler hem satır hem de sütunlardan oluşuyor. Matrislere de "2 boyutlu" diyebiliriz. Tensörlerde ise bir çeşit 3. boyut var. Yani satır, sütun bir de "kanal" dediğimiz boyut var. Bunlarla işlem yapmak için önce numpy kütüphanesini import ediyoruz.   Numpy kullanarak bir skaler (0 boyut) tanımlamak istediğimizde örneğin: x=np.array( 5 ) yazıyoruz. Şimdi x, içinde sadece 5 olan bir array. Boyutunu görmek istediğimizde ise x.ndim yazıyoruz ve boyutun 0 olduğunu görüyoruz. Vektör tanımlamak için ise: x=np.array([1,4,-3,2,5]) yazıyoruz. Bunun boyutunu sorduğumuzda da 1 cevabını alıyoruz. Matris tanımlamak için de örneğin: A=np.array([[1,2,3],[5,10,0],[1,3,-4]]) yazıyoruz. Bunun boyutunu da 2 olarak veriyor. Şimdi bir de tensör tanımlayalım: B=np.array([[[ 1 , 2 , 3 ],[ 1 , 2 , 3 ],[ 1 , 2 , 3 ]],[[ 4 , 5 , 6 ],[ 4 , 5 , 6 ],[ 4 , 5 , 6 ]],[[ 7 , 8 , 9 ],[ 7 , 8 , ...