TensorFlow nedir? Nasıl çalışır? ArchiYapı ve Özellikler

⚡ Akıllı Özet

TensorFlow açık kaynaklı bir platformdur. Google Makine öğrenimi için tasarlanmış olup, her hesaplamayı tensörlerden oluşan bir veri akışı grafiği olarak temsil eder. Bu genel bakış, mimariyi, bileşenleri, bir hesaplamanın nasıl yürütüldüğünü ve verilerin bir giriş hattı üzerinden nasıl besleneceğini kapsar.

  • 🧮 Temel Nesne: Tensör, değerleri aynı veri türünü ve bilinen veya kısmen bilinen bir şekli paylaşan n boyutlu bir dizidir.
  • 🔗 Grafik Modeli: Düğümler işlemleri, kenarlar tensörleri taşır ve tüm grafik kaydedilebilir, taşınabilir ve daha sonra tekrar oynatılabilir.
  • 🏗️ Üç Aşamalı Archidoku: Verileri ön işleme tabi tutun, modeli oluşturun, ardından eğitin ve değerlendirin.
  • ⚠️ Sürüm Sınırı: `tf.placeholder` ve `tf.Session` TensorFlow 1.x'e aitti ve varsayılan olarak "eager" (önceden yükleme) modunda çalışan 2.0 sürümünde kaldırıldı.
  • 💾 Veri Yükleme: Pandas ile küçük veri kümelerini belleğe yükleyin ve çok büyük olan ve belleğe sığmayan veriler için tf.data işlem hatlarını kullanın.
  • 📊 İzleme: TensorBoard, bir model eğitilirken grafiği, metrikleri ve ağırlık dağılımlarını görselleştirir.

TensorFlow Nedir? Archidoku

TensorFlow nedir?

TensorFlow Makine Öğrenimi uygulamaları oluşturmaya yönelik açık kaynaklı, uçtan uca bir platformdur. Derin sinir ağlarının eğitimi ve çıkarımına odaklanan çeşitli görevleri gerçekleştirmek için veri akışını ve türevlenebilir programlamayı kullanan sembolik bir matematik kütüphanesidir. Geliştiricilerin çeşitli araçları, kitaplıkları ve topluluk kaynaklarını kullanarak makine öğrenimi uygulamaları oluşturmasına olanak tanır.

Şu anda dünyanın en ünlü derin öğrenme kütüphanesi şudur: Google'nin TensorFlow'u. Google Arama, çeviri, görüntü açıklaması ve öneri özelliklerini geliştirmek için ürünlerinin tamamında makine öğrenimini kullanmaktadır.

TensorFlow Örneği

Somut bir örnek vermek gerekirse; Google Kullanıcılar yapay zeka ile daha hızlı ve daha gelişmiş bir arama deneyimi yaşayabilirler. Kullanıcı arama çubuğuna bir anahtar kelime yazdığında, Google Sonraki kelimenin ne olabileceğine dair bir öneri sunar.

TensorFlow Örneği
TensorFlow Örneği

Google Kullanıcılara en iyi deneyimi sunmak için devasa veri kümelerinden yararlanmak amacıyla makine öğrenimini kullanmak istiyor. Makine öğrenimini kullanan üç farklı grup var:

  • Araştırmacılar
  • Veri Bilimcileri
  • Programcılar

Hepsi birbirleriyle işbirliği yapmak ve verimliliklerini artırmak için aynı araç setini kullanabilir.

Google Sadece büyük veri kümelerini barındırmakla kalmaz, aynı zamanda devasa bir hesaplama altyapısı da çalıştırır; bu nedenle TensorFlow en başından itibaren ölçeklenebilir olacak şekilde tasarlanmıştır. TensorFlow, tarafından geliştirilen bir kütüphanedir. Google Beyin ekibi, makine öğrenimi ve derin sinir ağları araştırmalarını hızlandıracak.

Birden fazla CPU veya GPU ve hatta mobil işletim sistemlerinde çalışacak şekilde tasarlanmıştır ve çeşitli dillerde çeşitli sarmalayıcılara sahiptir: Python, C++ or Java.

TensorFlow'un Tarihçesi

Birkaç yıl önce, derin öğrenme, büyük miktarda veri verildiğinde diğer tüm makine öğrenme algoritmalarını geride bırakmaya başladı. Google Bu derin sinir ağlarını hizmetlerini geliştirmek için kullanabileceğini gördü:

  • Gmail
  • Fotoğraf
  • Google arama motoru

Onlar bir çerçeve oluşturdular. TensorFlow Böylece araştırmacılar ve geliştiriciler aynı model üzerinde çalışabilir ve ardından bunu birçok insanın kullanabileceği ölçekte uygulamaya koyabilirler.

TensorFlow, Kasım 2015'te halka açık olarak yayınlandı ve Şubat 2017'de 1.0 sürümü piyasaya sürüldü. Çok daha büyük değişiklik ise şu aşamada gerçekleşti: TensorFlow 2.0 Eylül 2019'daBu değişiklik, hızlı yürütmeyi varsayılan hale getirdi ve Keras'ı standart yüksek seviyeli API olarak benimsedi. 2.16 sürümünden itibaren Keras 3 varsayılan hale geldi ve aynı model kodu JAX veya Py üzerinde de çalıştırılabiliyor.Torch arka uçları.

TensorFlow, Apache 2.0 lisansı altında yayınlanmıştır; bu nedenle, ticari amaçlar da dahil olmak üzere, herhangi bir ücret ödemeden kullanabilir, değiştirebilir ve yeniden dağıtabilirsiniz. Google.

TensorFlow Nasıl Çalışır?

TensorFlow, girdileri Tensor adı verilen çok boyutlu bir dizi olarak alarak verilerin bir grafikte nasıl hareket ettiğini tanımlamak için veri akışı grafikleri ve yapıları oluşturmanıza olanak tanır. Bir ucuna giden ve diğer ucuna çıktı olarak gelen bu girdiler üzerinde gerçekleştirilebilecek işlemlerin akış şemasını oluşturmanıza olanak tanır.

TensorFlow Archidoku

TensorFlow mimarisi üç bölümden oluşur:

  • Verileri ön işleme
  • Modeli oluşturun
  • Modeli eğitme ve tahmin etme

TensorFlow olarak adlandırılmasının nedeni, girdiyi çok boyutlu bir dizi olarak almasıdır. tansörler. Bir çeşit inşa edebilirsiniz akış şeması o girişte gerçekleştirmek istediğiniz işlemlerin (Grafik olarak adlandırılır) listesi. Girdi bir uçtan girer ve daha sonra bu çoklu işlemlerden oluşan sistem boyunca akar ve diğer uçtan çıktı olarak çıkar.

TensorFlow nerelerde çalıştırılabilir?

TensorFlow'un donanım ve yazılım gereksinimleri iki aşamaya ayrılır:

Geliştirme aşamasıBu aşamada, genellikle masaüstü veya dizüstü bilgisayarda modeli eğitirsiniz.

Çalıştırma veya çıkarım aşamasıEğitim tamamlandıktan sonra, model birçok platformda çalıştırılabilir:

  • Masaüstü çalışıyor Windows, macOS veya Linux
  • Bir web hizmeti olarak bulut
  • iOS gibi mobil cihazlar ve Android

Bunu birden fazla makinede eğitebilir ve eğitilen modeli aldıktan sonra farklı bir makinede çalıştırabilirsiniz.

Model, hem GPU'larda hem de CPU'larda eğitilebilir ve kullanılabilir. GPU'lar başlangıçta video oyunları için tasarlanmıştır. 2009 civarında, Stanford araştırmacıları, GPU'ların sinir ağlarının bağlı olduğu matris ve doğrusal cebir işlemlerinde son derece verimli olduğunu göstermiştir. Derin öğrenme, çok fazla matris çarpımına dayanır. TensorFlow, matris çarpımını hesaplamada çok hızlıdır çünkü bu işlem TensorFlow dilinde yazılmıştır. C++. Her ne kadar uygulamaya konmuş olsa da C++, TensorFlow'a esas olarak diğer diller tarafından erişilebilir ve kontrol edilebilir, Python.

Bir diğer önemli özellik ise şudur: Tensör KartıBu araç, model çalışırken grafiği, eğitim metriklerini ve ağırlıkların dağılımını görselleştirir.

TensorFlow Bileşenleri

tensör

TensorFlow'un adı doğrudan temel çerçevesinden türetilmiştir: tensörTensorFlow'da tüm hesaplamalar tensörler kullanılarak yapılır. Tensör, bir vektör or matris tüm veri türlerini temsil eden n boyutlu boyutlar. Bir tensördeki tüm değerler, bilinen (veya kısmen bilinen) bir veri tipiyle aynı veri tipini tutar. şekil. Verinin şekli matrisin veya dizinin boyutluluğudur.

Bir tensör, giriş verilerinden veya bir hesaplamanın sonucundan kaynaklanabilir. TensorFlow'da tüm işlemler bir grafik. Grafik, ardışık olarak gerçekleşen bir hesaplama kümesidir. Her operasyona denir işlem düğümü ve birbirlerine bağlıdırlar.

Grafik, düğümler arasındaki işlemleri ve bağlantıları özetlemektedir. Ancak değerleri göstermiyor. Düğümlerin kenarı tensördür, yani işlemi verilerle doldurmanın bir yoludur.

Grafikler

TensorFlow bir grafik çerçevesinden yararlanır. Grafik, eğitim sırasında yapılan tüm seri hesaplamaları toplar ve açıklar. Grafiğin birçok avantajı vardır:

  • Birden fazla CPU veya GPU üzerinde ve hatta mobil işletim sistemlerinde bile çalışır.
  • Grafiğin taşınabilirliği hesaplamaların hemen veya daha sonra kullanılmak üzere saklanmasına olanak tanır. Grafik gelecekte yürütülmek üzere kaydedilebilir.
  • Grafikteki tüm hesaplamalar tensörlerin birbirine bağlanmasıyla yapılır.
    • Bir grafın düğümleri ve kenarları vardır. Her düğüm matematiksel bir işlem gerçekleştirir ve bir çıktı üretir; kenarlar ise düğümler arasındaki girdi ve çıktı ilişkilerini tanımlar. Tensörler ise kenarlar boyunca hareket eder.

TensorFlow Neden Popüler?

TensorFlow, her uzmanlık seviyesinde erişilebilir olması nedeniyle yaygın olarak kullanılmaktadır. API'leri, üç satırlık bir Keras modelinden elle oluşturulmuş bir CNN veya RNN'ye kadar her şeyi kapsar. Hesaplama bir grafik olarak ifade edildiğinden, TensorBoard ağı görselleştirebilir ve hata ayıklamayı çok daha kolay hale getirebilir. Ayrıca, CPU, GPU ve TPU üzerinde ve TensorFlow Lite aracılığıyla mobil cihazlarda çalışarak büyük ölçekte dağıtım imkanı sunar.

TensorFlow, Python ile birlikte GitHub'da en çok kullanılan iki derin öğrenme çerçevesinden biri olmaya devam ediyor.Torch.

TensorFlow Algorithms

TensorFlow, çeşitli klasik algoritmalar için üst düzey tahminciler içerir. TensorFlow 1.x'te bunlar tf.estimator altında yer alıyordu:

  • Doğrusal regresyon: tf.estimator.LinearRegressor
  • Sınıflandırma: tf.estimator.LinearClassifier
  • Derin öğrenme sınıflandırması: tf.estimator.DNNClassifier
  • Geniş ve derin öğrenme: tf.estimator.DNNLinearCombinedClassifier
  • Güçlendirilmiş ağaç regresyonu: tf.estimator.BoostedTreesRegressor
  • Güçlendirilmiş ağaç sınıflandırması: tf.estimator.BoostedTreesClassifier

TensorFlow ve Python karşılaştırmasıTorch: Hangisini Seçmelisiniz?

TensorFlow ve PyTorBunlar, derin öğrenmenin en baskın iki çerçevesidir ve TensorFlow 2.0'ın eager execution'ı benimsemesinden bu yana pratik farklılıklar önemli ölçüde azalmıştır.

Kriterler TensorFlow PyTorch
Tarafından geliştirilen Google Beyin meta yapay zeka
infaz İsteğe bağlı grafik derlemesiyle istekli İsteğe bağlı derleme ile istekli
Üst düzey API Keras, şu şekilde oluşturulmuştur: Lightning gibi ayrı kütüphaneler
Mobil ve uç nokta TensorFlow Lite aracılığıyla olgunlaşın. Yürütme yoluyla iyileştirmeTorch
Tarayıcı dağıtımı TensorFlow.js ONNX'e dönüştürme gerektirir.
Tipik bir kale Üretim ve dağıtım Araştırma ve deney

Pratik cevap: Modelin mobil cihazlara, tarayıcıya veya yönetilen bir sunucu yığınına gönderilmesi gerektiğinde TensorFlow'u, Python'ı ise başka bir yöntemle geliştirin.TorModel mimarisi üzerinde yineleme yaparken ch kullanılır. TensorFlow 2.16'dan itibaren varsayılan olarak kullanılan Keras 3, aynı Keras kodunun TensorFlow, JAX veya Py üzerinde çalıştırılabilmesi nedeniyle bu kararı daha da kolaylaştırır.Torch arka uç.

TensorFlow'da Hesaplamalar Nasıl Çalışır?

⚠️ Sürüm notu: Aşağıdaki kılavuzlar, TensorFlow 1.x Grafik ve oturum stili, veri akışı grafiğinin nasıl çalıştığını görmenin en net yoludur. TensorFlow 2.0'da tf.placeholder(), tf.Session() ve make_initializable_iterator() fonksiyonları kaldırıldı. ve mevcut kurulumda AttributeError hatası verecektir. Bölüm TensorFlow 1.x ve TensorFlow 2.x karşılaştırması Aşağıda her örneğin modern karşılığı verilmiştir.

import numpy as np
import tensorflow as tf

Kodun ilk iki satırında tensorflow'u tf olarak içe aktardık. İle PythonBir kitaplık için kısa ad kullanmak yaygın bir uygulamadır. Bunun avantajı, kullanmamız gerektiğinde kütüphanenin tam adını yazmaktan kaçınmaktır. Örneğin tensorflow'u tf olarak içe aktarabilir ve tensorflow fonksiyonunu kullanmak istediğimizde tf'yi çağırabiliriz.

Basit TensorFlow örnekleriyle TensorFlow'un temel iş akışını uygulayalım. İki sayıyı birbiriyle çarpan bir hesaplama grafiği oluşturalım.

Örnekte, X_1 ve X_2'yi birbirleriyle çarpacağız. TensorFlow, işlemi bağlamak için bir düğüm oluşturacaktır. Örneğimizde bu düğüme "çarpma" adı verilmiştir. Grafik belirlendiğinde, TensorFlow hesaplama motorları X_1 ve X_2'yi birbirleriyle çarpacaktır.

Hesaplamalar TensorFlow'da çalışır

TensorFlow Örneği

Son olarak, hesaplamalı grafiği X_1 ve X_2 değerleriyle çalıştıracak ve çarpma sonucunu yazdıracak bir TensorFlow oturumu çalıştıracağız.

X_1 ve X_2 giriş düğümlerini tanımlayalım. TensorFlow'da bir düğüm oluştururken, ne tür bir düğüm oluşturacağımızı seçmemiz gerekir. X1 ve X2 düğümleri bir yer tutucu düğüm olacaktır. Yer tutucu, her hesaplama yaptığımızda yeni bir değer atar. Bunları TF dot yer tutucu düğümü olarak oluşturacağız.

1. Adım: Değişkeni tanımlayın

X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")

Yer tutucunun bir veri türüne ihtiyacı vardır. Bunlar sayılar olduğundan, tf.float32 doğru seçimdir. `name` argümanı isteğe bağlıdır ancak kullanışlıdır, çünkü grafiğin TensorBoard görselleştirmesinde görünen etikettir. X_2 de aynı şekilde tanımlanır.

Adım 2: Hesaplamayı tanımlayın

multiply = tf.multiply(X_1, X_2, name = "multiply")

Şimdi çarpma işlemini gerçekleştiren düğümü tanımlayabiliriz. TensorFlow'da bunu tf.multiply düğümü oluşturarak yapabiliriz.

X_1 ve X_2 düğümlerini çarpma düğümüne geçireceğiz. Tensorflow'a hesaplamalı grafikteki bu düğümleri bağlamasını söyler, bu yüzden ondan x ve y'den değerleri çekip sonucu çarpmasını istiyoruz. Çarpma düğümüne çarpma adını da verelim. Basit hesaplama grafiğimizin tam tanımı budur.

Adım 3: İşlemi yürütün

Grafikte işlemleri gerçekleştirmek için bir oturum oluşturmamız gerekiyor. TensorFlow'da bu işlem tf.Session() ile yapılır. Artık bir oturumumuz olduğuna göre, oturumu çağırarak hesaplama grafiğimizde işlemler çalıştırmasını isteyebiliriz. Hesaplamayı çalıştırmak için run yöntemini kullanmalıyız.

Çarpma işlemi çalıştırıldığında, X_1 ve X_2 düğümlerinin değerlerine ihtiyaç duyar, bu nedenle bunları çalışma zamanında beslersiniz. Bunu, feed_dict adlı bir parametre sağlayarak yapabiliriz. X_1 için 1, 2, 3 ve X_2 için 4, 5, 6 değerlerini iletiyoruz.

Sonuçları print(result) ile yazdırıyoruz. 4×10, 18×1 ve 4×2 için 5, 3 ve 6’i görmeliyiz

X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")

multiply = tf.multiply(X_1, X_2, name = "multiply")

with tf.Session() as session:
    result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})
    print(result)
[ 4. 10. 18.]

TensorFlow'a Veri Yükleme Seçenekleri

Eğitimden önceki ilk adım makine öğrenimi algoritması Verileri yüklemek gerekiyor. Verileri yüklemenin iki yaygın yolu vardır:

1. Verileri belleğe yükleyinBu en basit yöntemdir. Tüm verilerinizi tek bir dizi olarak belleğe yüklersiniz. Düz bir şekilde yazarsınız. Python Bunun için; bunların hiçbiri TensorFlow'a özgü değil.

2. TensorFlow veri işlem hattıTensorFlow, verileri yükleyen, dönüşümleri uygulayan ve modeli besleyen yerleşik bir API sağlar. Bu yöntem, özellikle büyük veri kümeleriniz olduğunda çok iyi çalışır. Örneğin, görüntü kayıtlarının çok büyük olduğu ve belleğe sığmadığı bilinmektedir. Veri işlem hattı, belleği kendi başına yönetir.

Hangi çözümü kullanmalı?

Verileri belleğe yükle

Veri kümeniz çok büyük değilse yani 10 gigabayttan küçükse ilk yöntemi kullanabilirsiniz. Veriler belleğe sığabilir. CSV dosyalarını içe aktarmak için Pandas adlı ünlü bir kütüphaneyi kullanabilirsiniz. Bir sonraki derste pandalar hakkında daha fazla bilgi edineceksiniz.

Verileri TensorFlow işlem hattı ile yükleyin.

İkinci yöntem, büyük bir veri kümeniz varsa en iyi sonucu verir. Örneğin, 50 gigabaytlık bir veri kümeniz varsa ve bilgisayarınızda yalnızca 16 gigabaytlık bellek varsa, makine çökecektir.

Bu durumda, bir TensorFlow işlem hattı oluşturmanız gerekiyor. İşlem hattı, verileri toplu halde veya küçük parçalar halinde yükleyecektir. Her bir parça işlem hattına gönderilecek ve eğitim için hazır hale gelecektir. İşlem hattı oluşturmak mükemmel bir çözümdür çünkü paralel hesaplamayı kullanmanıza olanak tanır. Bu, TensorFlow'un modeli birden fazla CPU üzerinde eğiteceği anlamına gelir. Bu, hesaplamayı hızlandırır ve daha büyük ağları eğitmeyi pratik hale getirir.

Özetle: küçük veri kümelerini pandas ile belleğe yükleyin ve veriler büyük olduğunda veya birden fazla CPU'da paralel yükleme istediğinizde TensorFlow işlem hattını kullanın.

TensorFlow Pipeline Nasıl Oluşturulur

TensorFlow işlem hattı oluşturma adımları şunlardır:

Önceki örnekte, X_1 ve X_2 için üç değeri manuel olarak eklemiştik. Şimdi, verileri TensorFlow'a nasıl yükleyeceğimizi göreceğiz:

Adım 1) Verileri oluşturun

Öncelikle numpy kütüphanesini kullanarak iki rastgele değer üretelim.

import numpy as np
x_input = np.random.sample((1,2))
print(x_input)

[[0.8835775 0.23766977]]

Adım 2) Yer tutucuyu oluşturun

Bir önceki örnekte olduğu gibi X isminde bir yer tutucu oluşturuyoruz. Tensörün şeklini açıkça belirtmemiz gerekiyor. Bu durumda yalnızca iki değer içeren bir dizi yükleyeceğiz. Şekli şekil=[1,2] şeklinde yazabiliriz.

# using a placeholder
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')

Adım 3) Veri kümesi yöntemini tanımlayın

Daha sonra, x yer tutucusunun değerini doldurabileceğimiz Veri Kümesini tanımlamamız gerekiyor. tf.data.Dataset.from_tensor_slices yöntemini kullanmamız gerekiyor

dataset = tf.data.Dataset.from_tensor_slices(x)

Adım 4) İşlem hattını oluşturun

Dördüncü adımda, verilerin akacağı boru hattını başlatmamız gerekiyor. make_initializable_iterator ile bir yineleyici oluşturmamız gerekiyor. Buna yineleyici adını veriyoruz. Daha sonra bir sonraki veri grubunu (get_next) beslemek için bu yineleyiciyi çağırmamız gerekir. Bu adıma get_next adını veriyoruz. Örneğimizde yalnızca iki değere sahip yalnızca bir veri kümesinin bulunduğunu unutmayın.

iterator = dataset.make_initializable_iterator() 
get_next = iterator.get_next()

Adım 5) İşlemi yürütün

Son adım önceki örneğe benzer. Bir oturum başlatıyoruz ve işlem yineleyicisini çalıştırıyoruz. Feed_dict'i, tarafından oluşturulan değerle besliyoruz. dizi. Bu iki değer x yer tutucusunu dolduracaktır. Daha sonra sonucu yazdırmak için get_next komutunu çalıştırıyoruz.

with tf.Session() as sess:
    # feed the placeholder with data
    sess.run(iterator.initializer, feed_dict={ x: x_input }) 
    print(sess.run(get_next))
[0.8835775  0.23766978]

TensorFlow 1.x ve TensorFlow 2.x Arasındaki Farklar: Neler Değişti?

TensorFlow 2.0, kullanıcı arayüzü API'sinde çığır açan bir yeniden yazım oldu. Aradaki farkı anlamak önemlidir, çünkü yukarıdaki örnekler de dahil olmak üzere çevrimiçi birçok eğitim kodu 1.x stiline yöneliktir.

Konsept TensorFlow 1.x TensorFlow 2.x
Yürütme modeli Grafiği tanımlayın, sonra çalıştırın. Varsayılan olarak istekli olduğundan, işlemler hemen yürütülür.
Veri besleme tf.placeholder artı feed_dict Geçiş Python değerler veya tensörler doğrudan
Operasyonları yürütme tf.Oturum().çalıştır() Fonksiyonu çağırın, oturum açmaya gerek yok.
Üst düzey API tf.tahminleyici Keras, tf.keras
Grafik optimizasyonu Her zaman grafik tabanlı @tf.function dekoratörü ile katılımı tercih edin.
Bir veri kümesinde yineleme başlatılabilir yineleyici oluştur() Sade Python Veri kümesi üzerinde for döngüsü

Çarpma örneği, yeniden yazılmış haliyle. Üç adım ve bir oturum tek bir satırda birleşiyor, çünkü işlem çağrıldığı anda yürütülüyor:

import tensorflow as tf

X_1 = tf.constant([1, 2, 3], dtype=tf.float32)
X_2 = tf.constant([4, 5, 6], dtype=tf.float32)

result = tf.multiply(X_1, X_2, name="multiply")
print(result.numpy())        # [ 4. 10. 18.]

Giriş işlem hattı yeniden yazıldı. Yer tutucuya veya yineleyici nesneye gerek yoktur:

import numpy as np
import tensorflow as tf

x_input = np.random.sample((1, 2))
dataset = tf.data.Dataset.from_tensor_slices(x_input)

for batch in dataset:
    print(batch.numpy())

Derlenmiş bir grafiğin hızına ihtiyacınız varsa, fonksiyonu `@tf.function` ve TensorFlow ile sarmalayın. tracBunu otomatik olarak tek bir dosyaya dönüştürür. Eski 1.x komut dosyaları, tf.compat.v1 ad alanı üzerinden de değiştirilmeden çalıştırılabilir, ancak bu yol yalnızca bakım amaçlıdır ve yeni çalışmalar için kullanılmamalıdır.

TensorFlow: Önemli Noktalar ve Code Referans

  • TensorFlow anlamı: TensorFlow son yılların en ünlü derin öğrenme kütüphanesidir. TensorFlow'u kullanan bir uygulayıcı, CNN, RNN veya basit yapay sinir ağı gibi herhangi bir derin öğrenme yapısını oluşturabilir.
  • TensorFlow çoğunlukla akademisyenler, girişim şirketleri ve büyük şirketler tarafından kullanılmaktadır. Google TensorFlow'u neredeyse her şeyde kullanıyor. Google günlük ürünler dahil GmailFotoğraf ve Google Arama motoru.
  • MKS Google Brain ekibi, araştırmacılar ve ürün geliştiriciler arasındaki boşluğu kapatmak için TensorFlow'u geliştirdi. 2015 yılında TensorFlow'u halka açık hale getirdiler ve hızla popülerlik kazanıyor. Günümüzde TensorFlow, GitHub'da en çok depoya sahip derin öğrenme kütüphanesidir.
  • Uzmanlar TensorFlow'u, bulutta, tarayıcıda veya iOS ve Android işletim sistemlerini kullanan mobil cihazlarda kolayca ve büyük ölçekte dağıtılabildiği için kullanıyorlar. Android.

TensorFlow, bir oturum içinde çalışır. Her oturum, farklı hesaplamalar içeren bir grafik ile tanımlanır. Basit bir örnek olarak, iki sayıyı çarpmak verilebilir. TensorFlow'da üç adım gereklidir:

  1. Değişkeni tanımlayın
X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")
  1. Hesaplamayı tanımlayın
multiply = tf.multiply(X_1, X_2, name = "multiply")
  1. İşlemi yürütün
with tf.Session() as session:
    result = session.run(multiply, feed_dict={X_1: [1, 2, 3], X_2: [4, 5, 6]})
    print(result)

TensorFlow'da yaygın bir uygulama, verileri yüklemek için bir işlem hattı oluşturmaktır. Bu beş adımı izlerseniz, verileri TensorFlow'a yükleyebileceksiniz:

  1. Verileri oluşturun
import numpy as np
x_input = np.random.sample((1,2))
print(x_input)
  1. Yer tutucuyu oluşturun
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
  1. Veri kümesi yöntemini tanımlayın
dataset = tf.data.Dataset.from_tensor_slices(x)
  1. İşlem hattını oluşturun
iterator = dataset.make_initializable_iterator()
get_next = iterator.get_next()
  1. Programı yürüt
with tf.Session() as sess:
    sess.run(iterator.initializer, feed_dict={x: x_input})
    print(sess.run(get_next))

SSS

`tf.placeholder` TensorFlow 1.x'e aittir ve 2.0 sürümünde kaldırılmıştır. 2.0 sürümü hemen çalışır ve yer tutucuya ihtiyaç duymaz. Değerleri doğrudan geçirin veya eski komut dosyalarını değiştirmeden çalıştırmak için `tf.compat.v1` kullanın.

Tensör, her elemanın aynı veri türünü paylaştığı n boyutlu bir dizidir. Skaler 0. dereceden, vektör 1. dereceden, matris 2. dereceden ve görüntü grubu genellikle 4. derecedendir.

Keras, modelleri tanımlamak ve eğitmek için kullanılan üst düzey API'dir, TensorFlow ise altta yatan hesaplama motorudur. TensorFlow, 2.16 sürümünden itibaren JAX veya Py üzerinde de çalışabilen Keras 3'ü içermektedir.Torch.

TensorFlow, üretim amaçlı yapay zeka uygulamaları için uygundur: görüntü sınıflandırma, doğal dil işleme, öneri sistemleri ve mobil cihazlara, tarayıcılara veya sunucu kümelerine dağıtılması gereken her türlü model.

Evet. Yapay zeka asistanları, oturum ve yer tutucu kodlarını eşdeğerlerine yeniden yazabilir ve kaldırılan işlevleri işaretleyebilir. Eski betiği devre dışı bırakmadan önce çıktıyı sayısal olarak orijinaliyle karşılaştırın.

Bu yazıyı şu şekilde özetleyin: