TensorFlow nedir? Nasıl Çalışır [Örneklerle]

Yayınlanan: 2021-09-22

TensorFlow, makine öğrenimi modelleri oluşturmak için kullanılan açık kaynaklı bir kitaplıktır. Makine öğrenimi ve yapay zeka ile çalışma konusunda tutkulu olan herkes için inanılmaz bir platformdur. Ayrıca, makine öğrenimi pazarının tanık olduğu istikrarlı büyümeyle birlikte, teknoloji şirketleri AI teknolojisinin çeşitli yeteneklerini keşfettikçe TensorFlow gibi araçlar ön plana çıktı. Hiç şüphe yok ki, küresel makine öğrenimi pazarının 2027 yılına kadar 117,19 milyar ABD Doları değerinde bir değere ulaşması bekleniyor .

Ancak başlangıçta, TensorFlow'un ne olduğunu ve onu dünya çapındaki geliştiriciler arasında popüler bir seçim yapan şeyin ne olduğunu bilmek önemlidir.

İçindekiler

TensorFlow nedir?

TensorFlow, özellikle derin sinir ağlarına odaklanan, makine öğrenimi için uçtan uca açık kaynaklı bir platformdur. Derin öğrenme, büyük ölçekli yapılandırılmamış verilerin analizini içeren bir makine öğrenimi alt kümesidir. Derin öğrenme, geleneksel makine öğreniminden farklıdır, çünkü ikincisi tipik olarak yapılandırılmış verilerle ilgilenir.

TensorFlow, esnek ve kapsamlı bir kitaplık, araç ve topluluk kaynakları koleksiyonuna sahiptir. Geliştiricilerin son teknoloji makine öğrenimi destekli uygulamalar oluşturmasına ve dağıtmasına olanak tanır. TensorFlow ile ilgili en iyi şeylerden biri, uygulamaları yüksek performanslı, optimize edilmiş C++'da yürütürken uygulamalar oluşturmak için uygun bir ön uç API sağlamak üzere Python kullanmasıdır.

Google Beyin ekibi başlangıçta dahili kullanım için TensorFlow Python derin öğrenme kitaplığını geliştirdi. O zamandan beri, açık kaynak platformu, Ar-Ge ve üretim sistemlerinde kullanımda muazzam bir büyüme gördü.

Bazı TensorFlow Temelleri

Artık TensorFlow'un ne olduğu hakkında temel bir fikrimiz olduğuna göre , platform hakkında biraz daha ayrıntıya girmenin zamanı geldi.

Aşağıda TensorFlow ile ilgili bazı temel kavramlara kısa bir genel bakış yer almaktadır. Platformun adını aldığı TensorFlow'un temel bileşenleri olan tensörlerle başlayacağız.

Tensörler

TensorFlow Python derin öğrenme kitaplığında bir tensör, veri türlerini temsil eden bir dizidir. Tek boyutlu bir vektör veya dizi ya da iki boyutlu matrisin aksine, bir tensör n boyuta sahip olabilir. Bir tensörde değerler, bilinen bir şekle sahip özdeş veri türlerini tutar. Şekil boyutluluğu temsil eder. Böylece, bir vektör tek boyutlu bir tensör olacak, bir matris iki boyutlu bir tensör olacak ve bir skaler, sıfır boyutlu bir tensör olacaktır.

tensörler

Kaynak

Şekil

TensorFlow Python kitaplığında şekil, tensörün boyutluluğunu ifade eder.

TensorFlow Python kitaplığında şekil, tensörün boyutluluğunu ifade eder.

Kaynak

Yukarıdaki resimde tensörün şekli (2,2,2)'dir.

Tip

Tür, bir tensördeki değerlerin tuttuğu veri türünü temsil eder. Tipik olarak, bir tensördeki tüm değerler aynı veri tipine sahiptir. TensorFlow'daki veri türleri aşağıdaki gibidir:

  • tam sayılar
  • kayan nokta
  • işaretsiz tam sayılar
  • boole değerleri
  • Teller
  • nicemlenmiş işlemlere sahip tamsayı
  • Karışık sayılar

grafik

Grafik, giriş tensörlerinde art arda gerçekleşen bir dizi hesaplamadır. Bir modeldeki matematiksel işlemleri temsil eden düğümlerin bir düzenlemesini içerir.

Oturum, toplantı, celse

TensorFlow'daki bir oturum, grafikteki işlemleri yürütür. Bir grafikteki düğümleri değerlendirmek için çalıştırılır.

operatörler

TensorFlow'daki operatörler önceden tanımlanmış matematiksel işlemlerdir.

Tensörler Nasıl Çalışır?

TensorFlow'da veri akışı grafikleri, verilerin bir dizi işleme düğümü boyunca nasıl hareket ettiğini açıklar. TensorFlow, modeller oluşturmak için veri akışı grafiklerini kullanır. TensorFlow'daki grafik hesaplamaları, tensörler arasındaki ara bağlantılar aracılığıyla kolaylaştırılır.

N-boyutlu tensörler, çıktıyı vermek için birkaç işlemden geçen girdi olarak sinir ağına beslenir. Grafikler, her düğümün matematiksel bir işlemi temsil ettiği bir düğüm ağına sahiptir. Ancak düğümler arasındaki kenar, çok boyutlu bir veri dizisi veya bir tensördür. Bir TensorFlow oturumu, grafiklerin veya grafik bölümlerinin yürütülmesine izin verir. Bunun için oturum, kaynakları bir veya daha fazla makineye tahsis eder ve ara sonuçların ve değişkenlerin gerçek değerlerini tutar.

tensörün işlevleri

Kaynak

TensorFlow uygulamaları, CPU'lar, GPU'lar, buluttaki bir küme, yerel bir makine veya Android ve iOS cihazları olabilecek hemen hemen her uygun hedefte çalıştırılabilir.

TensorFlow Hesaplama Grafiği

TensorFlow'daki bir hesaplama grafiği, her düğümün çarpma, toplama işlemi yaptığı veya bazı çok değişkenli denklemleri değerlendirdiği bir düğüm ağıdır. TensorFlow'da, bir grafik oluşturmak, bir oturum çalıştırmak ve grafiği yürütmek için kodlar yazılır. Atadığımız her değişken, çarpma, toplama gibi matematiksel işlemleri yapabileceğimiz bir düğüm haline gelir.

Hesaplama grafiğinin oluşturulmasını göstermek için basit bir örnek:

Şu hesaplamayı yapmak istediğimizi varsayalım: F(x,y,z) = (x+y)*z.

Üç değişken x, y ve z, aşağıda gösterilen grafikte üç düğüme çevrilecektir:

TensorFlow Hesaplama Grafiği

Kaynak

Grafiği oluşturma adımları:

Adım 1: Değişkenleri atayın. Bu örnekte, değerler şunlardır:

x = 1, y = 2 ve z = 3

Adım 2: x ve y'yi ekleyin.

Adım 3: z'yi x ve y'nin toplamı ile çarpın.

Son olarak sonucu '9' olarak alıyoruz.

Değişkenleri atadığımız düğümlere ek olarak, grafiğin iki düğümü daha vardır - biri toplama işlemi için diğeri çarpma işlemi için. Bu nedenle, toplamda beş düğüm vardır.

TensorFlow'daki Temel Programlama Öğeleri

TensorFlow'da, sabitler, değişkenler ve yer tutucular olmak üzere üç farklı türde veri öğesine veri atayabiliriz.

Şimdi bu veri öğelerinin her birinin neyi temsil ettiğine bakalım.

1. Sabitler

Adından da anlaşılacağı gibi sabitler, değişmeyen değerlere sahip parametrelerdir. TensorFlow'da, tf.constant() komutu kullanılarak bir sabit tanımlanır . Hesaplama sırasında sabitlerin değerleri değiştirilemez.

İşte bir örnek:

c = tf.sabit(2.0,tf.float32)

d = tf.sabit(3.0)

Yazdır (c, d)

2. Değişkenler

Değişkenler, grafiğe yeni parametrelerin eklenmesine izin verir. tf.variable () komutu, grafiği bir oturumda çalıştırmadan önce başlatılması gereken bir değişkeni tanımlar.

İşte bir örnek:

Y = tf.Değişken([.4],dtype=tf.float32)

a = tf.Değişken([-.4],dtype=tf.float32)

b = tf.yer tutucu(tf.float32)

lineer_model = Y*b+a

3. Yer tutucular

Yer tutucuları kullanarak, dışarıdan bir modele veri beslenebilir. Daha sonra değerlerin atanmasını sağlar. tf.placeholder() komutu bir yer tutucu tanımlar.

İşte bir örnek:

c = tf.yer tutucu(tf.float32)

d = c*2

sonuç = sess.run(d,feed_out={c:3.0})

Yer tutucu öncelikle bir modeli beslemek için kullanılır. Dışarıdan gelen veriler, bir değişken adı kullanılarak bir grafiğe beslenir (yukarıdaki örnekteki değişken adı feed_out'tur). Daha sonra oturumu çalıştırırken, verileri modele nasıl beslemek istediğimizi belirtiyoruz.

Bir oturum örneği:

Grafiğin yürütülmesi, bir oturum çağırarak yapılır. Grafiğin düğümlerini değerlendirmek için TensorFlow çalışma zamanı adı verilen bir oturum çalıştırılır. Sess = tf.Session() komutu bir oturum oluşturur.

Örnek vermek:

x = tf.sabit(3.0)

y = tf.sabit(4.0)

z = x+y

oturum = tf.Session() #Oturumu Başlatma

print(sess.run(z)) #Tensor z'yi Değerlendirmek

Yukarıdaki örnekte üç düğüm vardır – x, y ve z. 'z' düğümü, matematiksel işlemin yapıldığı yerdir ve ardından sonuç elde edilir. Bir oturum oluşturup z düğümünü çalıştırdıktan sonra, önce x ve y düğümleri oluşturulacaktır. Daha sonra z düğümünde toplama işlemi gerçekleşecektir. Bu nedenle, '7' sonucunu elde edeceğiz.

UpGrad ile Makine Öğrenimi ve Derin Öğrenmede Kariyerinizi Geliştirin

TensorFlow'un ne olduğu hakkında daha fazla bilgi edinmek için en iyi yeri mi arıyorsunuz ? O halde upGrad , öğrenme yolculuğunuzda size yardımcı olmak için burada.

85'ten fazla ülkeyi kapsayan bir öğrenci tabanıyla upGrad, dünya çapında 500.000'den fazla çalışan profesyoneli etkileyen Güney Asya'nın en büyük yüksek EdTech platformudur. Birinci sınıf öğretim üyeleri, endüstri ortaklarıyla işbirlikleri, en son teknoloji ve en güncel pedagojik uygulamalarla upGrad, dünya çapında 40.000'den fazla ücretli öğrencisi için sağlıklı ve sürükleyici bir öğrenme deneyimi sağlar.

Makine öğrenimi ve Derin Öğrenmede İleri Düzey Sertifika Programı, Derin Öğrenme kavramlarını kapsayan, akademik açıdan titiz ve sektörle ilgili 6 aylık bir kurstur.

Programın Öne Çıkanları:

  • IIIT Bangalore'den prestijli tanıma
  • 5+ vaka çalışması ve proje, 24+ canlı oturum ve 15+ uzman koçluk oturumu ile 240+ saat içerik
  • 12 araç, dil ve kitaplığın kapsamlı kapsamı (TensorFlow dahil)
  • 360 derece kariyer yardımı, mentorluk oturumları ve eşler arası ağ oluşturma fırsatları

upGrad'ın Makine Öğrenimi ve Yapay Zeka Alanında Yüksek Lisans Programı, öğrenmek ve gelişmiş Makine Öğrenimi ve bulut teknolojileriyle kendilerini geliştirmek isteyenler için 18 aylık sağlam bir programdır.

Programın Öne Çıkanları:

  • Liverpool John Moores Üniversitesi ve IIT Madras'tan prestijli takdir
  • 25+ vaka çalışması ve proje, 20+ canlı oturum ve 8+ kodlama ödevi ile 650+ saat içerik
  • 7 araç ve programlama dilinin kapsamlı kapsamı (TensorFlow dahil)
  • 360 derece kariyer yardımı, mentorluk oturumları ve eşler arası ağ oluşturma fırsatları

Çözüm

Makine Öğrenimi ve Yapay Zeka gelişmeye devam ediyor. Bir zamanlar bilim kurgu filmlerinin teması olan şey şimdi bir gerçek. Netflix film önerileri ve sanal asistanlardan sürücüsüz arabalara ve ilaç keşfine kadar, makine öğrenimi hayatımızın tüm boyutlarını etkiler. Ayrıca, TensorFlow gibi araçlarla makine öğrenimindeki yenilikler yeni zirvelere ulaştı. Açık kaynak kitaplığı, kuşkusuz, makine öğrenimi odaklı teknolojiler geliştiren geliştiriciler ve tomurcuklanan profesyoneller için bir nimettir.

Öyleyse ne bekliyorsun? upGrad ile bugün öğrenmeye başlayın!

TensorFlow ne için kullanılır?

TensorFlow Python, geliştiricilerin büyük ölçekli sinir ağları oluşturmasına olanak tanıyan açık kaynaklı bir platformdur. TensorFlow'un birincil kullanım durumlarından bazıları, metin tabanlı uygulamalar (dolandırıcılık tespiti gibi), ses tanıma, görüntü tanıma, video algılama ve zaman serisi verilerinin analizini içerir.

TensorFlow, Python veya C++ ile mi yazılmıştır?

TensorFlow, ön uç API'lerinin Python, R, C ve C++ gibi çeşitli diller kullanılarak uygulanmasına olanak tanır. Ancak, TensorFlow'daki çalışma zamanı, C++ dili kullanılarak yazılır.

TensorFlow'un kodlamaya ihtiyacı var mı?

TensorFlow, makine öğrenimi için açık kaynaklı bir kitaplık olduğundan, uzmanlaşması gereken dört temel alan vardır. Kodlama becerileri bir zorunluluk olsa da, makine öğrenimi eğitiminin diğer kritik bileşenleri matematik ve istatistik, makine öğrenimi teorisi ve sıfırdan makine öğrenimi projeleri oluşturmada uygulamalı deneyimdir.