TensorFlow Nedir? Nasıl Kullanılır?
Yazılım sektöründe son yılların en popüler ve önemli konusu yapay zekâ diyebiliriz sanırım. Bu alanda makine öğrenmesi, derin öğrenme gibi konularda bir çok gelişmeyi duyuyor ve okuyoruz. Derin öğrenme alanında en çok kullanılan kütüphanelerden birisi TensowFlow. Google tarafından geliştirilen açık kaynaklı TensorFlow ile derin öğrenme destekli yapay zekâ uygulamaları geliştirebiliyoruz. Devnot’taki bu ilk yazımda TensorFlow hakkında bazı temel bilgiler verecek, kullanımı ve kaynak siteleriyle ilgili bazı bilgiler aktaracağım.
Google tarafından uzun yıllardır geliştirilen TensorFlow ‘u ilk defa 2015 Kasım ayında duymuş olabiliriz. Çünkü belirtilen tarihte Google, TensorFlow’un kodlarını herkesin erişimine açtığını duyurdu.
TensorFlow Nedir?
Açık kaynak kodlu bir deep learning(derin öğrenme) kütüphanesidir. Esnek yapısı sayesinde, tek bir API ile platform farketmeksizin hesaplamaları, bir veya birden fazla CPU, GPU kullanarak deploy etmenize olanak sağlar. Temelinde Python kullanılarak geliştirilen bu framework, günümüzde Python‘ın yanısıra C++, Java, C#, Javascript ve R gibi birçok dili desteklemektedir.
Javascript demişken TensorFlow.js sayesinde internet tarayınız üzerinden yapay zeka ile ilgili bir çok işlemi yapabilirsiniz. TensorFlow.js sayesinde makine öğrenmesi modellerini tarayıcınız üzerinde geliştirebilir veya eğitebilirsiniz.
TensorFlow.js için bazı demoları Google bizim için hazırlamış. Bunlardan benim ilgimi en fazla çekenler kameranızı kullanarak kafa hareketlerinizle yönetebildiğiniz Pac-Man oyunu ve yine kameranız önünde yaptığınız hareketleri emoji haline getiren uygulama oldu.
Nasıl Kullanılır?
TensorFlow çeşitli alanlarda kullanıma sahip bir teknolojidir. Yaygın olarak kullanılmasındaki en önemli etkenlerden birisi farklı platformlara göre hazırlanmış TensorFlow kütüphanelerinin olmasıdır. Yani mobil uygulama, web uygulaması veya IoT cihazları üzerinde geliştireceğiniz projeleriniz için TensorFlow platforma uygun kütüphane sağlıyor. Python, R, C++, Java gibi dillerdeki TensorFlow uygulamaları geliştirmek için dile ait olan kütüphaneyi kullanabilirsiniz. Ayrıca web ve mobil uygulamalara özel geliştirilen TensowFlow paketleri de bulunmaktadır. Bunlara kısaca göz atalım:
TensorFlow.js
TensorFlow’un istemci taraflı çalışan JavaScript kütüphanesidir. İstemci taraflı web uygulaması geliştirmek isterseniz TensorFlow.js kullanmalısınız. Bunun için Node.js paketini yükleyebilir veya aşağıdaki script tag’lerini sayfanıza ekleyerek TensorFlow’u kullanabilirsiniz:
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tf.min.js"></script>
TensorFlow.js’in kullanımına basit ve güzel bir örnek olması açısından daha önceden hazırladığım TensorFlow.js ile kameranızı kullanarak nesne tanıma uygulaması örneğimi inceleyebilirsiniz.
TensorFlow Lite
TensorFlow kütüphanesini mobil uygulamalarınızda veya IoT projelerinizde kullanabilmeniz için hazırlanmıştır. iOS uygulaması geliştiriyor ve uygulamanızda TensorFlow’a yer vermek isterseniz Cocoapods üzerinden podlarınıza aşağıdaki kütüphaneyi eklemeniz gerekmektedir:
pod 'TensorFlowLiteSwift'
iOS üzerinde TensorFlow kullanılarak hazırlanmış bir nesne tanımlama uygulamasının kaynak kodlarına buradan erişebilirsiniz. Benzer kullanımlar Android tarafında da geçerli. Uygulamanızda TensorFlow kullanmak isterseniz projenize aşağıdaki gradle paketlerini eklemelisiniz:
implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly' implementation 'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly'
Benzer bir resim sınıflandırma Android uygulamasının kaynak kodlarına buradan erişebilirsiniz. TensorFlow Lite hakkında daha fazla örnek projeye erişmek isterseniz bu siteyi inceleyebilirsiniz.
Nereden Öğrenebilirim?
Sizleri heyecanlandıran ve neredeyse cihaz sınırı tanımadan her alanda kullanabilen TensorFlow kütüphanesini nereden öğreneceğinizi araştırdıktan sonra Google tarafından da desteklenen iki tane çok önemli kaynak buldum.
1- Intro to TensorFlow for Deep Learning by TensorFlow
TensorFlow ile nasıl derin öğrenme uygulamaları yapacağınızı öğreten ve TensorFlow ekibi tarafından hazırlanan bir kaynak. Kurs tamamen ücretsiz ve içeriği neredeyse 2 Ayda bitirebilecek kadar dolu. TensorFlow modellerini mobil uygulamalarda, internet tarayıcılarında ve bulutta nasıl kullanacağınızı öğrenebilirsiniz.
2- Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
Yapay zeka destekli algoritmalar oluşturmak isteyen bir yazılım geliştiriciyseniz, bunları oluşturmak için gerekli araçların nasıl kullanılacağını anlamanız gerekir. Bu eğitim, size makine öğrenmesi için popüler bir açık kaynaklı kütüphane olan TensorFlow’u kullanmak için en iyi uygulamaları öğretecektir.