TensorFlow Nedir? Detaylı Kurulum Rehberi ve Kapsamlı Kullanım Kılavuzu
Giriş: TensorFlow’un Dünyasına Genel Bakış
TensorFlow, Google tarafından geliştirilen açık kaynaklı bir makine öğrenimi ve derin öğrenme kütüphanesidir. Veri akışı ve diferansiyel programlama için kullanılan bu güçlü araç, özellikle büyük ölçekli makine öğrenimi modellerinin geliştirilmesi ve dağıtılması için tasarlanmıştır. TensorFlow’un esnek yapısı, hem yeni başlayanlar hem de deneyimli veri bilimcileri için ideal bir platform sunar.
Bu kapsamlı rehberde, TensorFlow’un temel kavramlarını, kurulum sürecini, çeşitli kullanım senaryolarını ve en iyi uygulamaları detaylı bir şekilde ele alacağız. Makalenin sonunda, TensorFlow’u kendi projelerinizde etkin bir şekilde kullanmaya başlayabilecek düzeyde bilgi sahibi olacaksınız.
TensorFlow’un Tarihçesi ve Gelişimi
TensorFlow’un kökenleri, Google’ın iç makine öğrenimi sistemleri olan DistBelief’e dayanır. 2015 yılında açık kaynak olarak piyasaya sürülen TensorFlow, o günden bu yana sürekli geliştirilmekte ve geniş bir kullanıcı kitlesi tarafından benimsenmektedir.
TensorFlow 2.0’nin 2019’da piyasaya sürülmesiyle birlikte, kütüphane kullanıcı dostu bir arayüz, daha basit bir API ve gelişmiş performans özellikleri kazandı. Günümüzde TensorFlow, akademik araştırmalardan endüstriyel uygulamalara kadar geniş bir yelpazede kullanılmaktadır.
TensorFlow’un Temel Özellikleri ve Avantajları
TensorFlow’u bu kadar popüler yapan birçok önemli özellik bulunmaktadır:
-
Platform Bağımsızlığı: Windows, Linux, macOS ve mobil platformlarda çalışabilme
-
Dağıtık Hesaplama Desteği: Birden fazla CPU ve GPU üzerinde paralel işlem yapabilme
-
Yüksek Seviye API’ler: Keras entegrasyonu sayesinde basit ve anlaşılır arayüz
-
TensorBoard: Model eğitiminin görselleştirilmesi için güçlü bir araç
-
Üretim Hazırlığı: Eğitilen modellerin kolayca dağıtılabilmesi
-
Geniş Topluluk Desteği: Aktif bir geliştirici topluluğu ve zengin dokümantasyon
-
Önceden Eğitilmiş Modeller: Transfer öğrenimi için hazır modellerin bulunması
TensorFlow Kurulum Rehberi
TensorFlow kurulumu, kullanıcının işletim sistemine ve donanım özelliklerine göre farklılık gösterebilir. Aşağıda, tüm popüler platformlar için detaylı kurulum adımlarını bulabilirsiniz.
Ön Koşullar
TensorFlow’u kurmadan önce sisteminizin aşağıdaki gereksinimleri karşıladığından emin olun:
-
Python 3.5-3.8 (TensorFlow 2.x için)
-
pip paket yöneticisi (güncel versiyon)
-
64-bit işletim sistemi
-
GPU desteği için CUDA ve cuDNN kurulumu (isteğe bağlı)
Windows’ta TensorFlow Kurulumu
-
Python’un Kurulumu:
-
Python’un resmi sitesinden en son 3.x sürümünü indirin
-
Kurulum sırasında “Add Python to PATH” seçeneğini işaretleyin
-
Kurulumu tamamladıktan sonra komut istemini açıp
python --version
yazarak kontrol edin
-
-
Virtual Environment Oluşturma (Önerilen):
Copypython -m venv tensorflow_env tensorflow_envScriptsactivate
-
TensorFlow’un Kurulumu:
-
CPU versiyonu için:
Copypip install tensorflow
-
GPU desteği için:
Copypip install tensorflow-gpu
-
-
Kurulumun Doğrulanması:
Python kabuğunu açıp aşağıdaki kodu çalıştırın:pythonCopyimport tensorflow as tf print(tf.__version__) print("TensorFlow kurulumu başarılı:", tf.test.is_built_with_cuda())
macOS’ta TensorFlow Kurulumu
-
Homebrew ile Python Kurulumu:
Copybrew install python
-
Virtual Environment Oluşturma:
Copypython3 -m venv tensorflow_env source tensorflow_env/bin/activate
-
TensorFlow Kurulumu:
Copypip install tensorflow
-
Kurulum Testi:
Python kabuğunda:pythonCopyimport tensorflow as tf tf.constant('Hello, TensorFlow!').numpy()
Linux’ta TensorFlow Kurulumu (Ubuntu/Debian Örneği)
-
Sistem Güncellemeleri:
Copysudo apt update sudo apt upgrade
-
Python ve pip Kurulumu:
Copysudo apt install python3 python3-pip python3-venv
-
Virtual Environment:
Copypython3 -m venv ~/tensorflow_env source ~/tensorflow_env/bin/activate
-
TensorFlow Kurulumu:
Copypip install --upgrade pip pip install tensorflow
-
GPU Desteği İçin Ek Kurulumlar:
-
NVIDIA sürücülerinin kurulu olduğundan emin olun
-
CUDA Toolkit ve cuDNN kurulumu yapın
-
Detaylar için TensorFlow’un resmi dokümantasyonunu inceleyin
-
Google Colab ile TensorFlow Kullanımı
TensorFlow’u yerel makinenize kurmak istemiyorsanız, Google Colab ücretsiz bulut tabanlı bir alternatif sunar:
-
https://colab.research.google.com adresine gidin
-
Yeni bir notebook oluşturun
-
İlk hücreye şunu yazın:
pythonCopy%tensorflow_version 2.x import tensorflow as tf print(tf.__version__)
-
Hücreyi çalıştırın
Colab, GPU ve hatta TPU’lara ücretsiz erişim sağlar, bu da büyük modellerin eğitimi için idealdir.
TensorFlow Kurulum Sonrası Yapılandırma
TensorFlow’u başarıyla kurduktan sonra, optimal performans için bazı yapılandırmalar yapmak faydalı olacaktır.
GPU Desteğinin Doğrulanması
TensorFlow’un GPU’nuzu tanıyıp tanımadığını kontrol etmek için:
import tensorflow as tf
print("GPU'lar:", tf.config.list_physical_devices('GPU'))
print("TensorFlow GPU'yu kullanıyor mu?", "Evet" if tf.test.is_gpu_available() else "Hayır")
Bellek Büyüme Ayarları
GPU bellek kullanımını optimize etmek için:
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
except RuntimeError as e:
print(e)
TensorFlow’un CPU Özelliklerini Optimize Etme
Modern CPU’lardan en iyi şekilde yararlanmak için:
tf.config.threading.set_intra_op_parallelism_threads(4)
tf.config.threading.set_inter_op_parallelism_threads(4)
TensorFlow’un Temel Bileşenleri
TensorFlow ekosistemini anlamak için temel bileşenlerini bilmek önemlidir.
Tensörler (Tensors)
TensorFlow’da veriler tensörlerle temsil edilir. Tensörler, çok boyutlu diziler olarak düşünülebilir:
# Skaler (0 boyutlu tensör)
scalar = tf.constant(5)
# Vektör (1 boyutlu tensör)
vector = tf.constant([1, 2, 3])
# Matris (2 boyutlu tensör)
matrix = tf.constant([[1, 2], [3, 4]])
# 3 boyutlu tensör
tensor_3d = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
Grafikler (Graphs) ve Eager Execution
TensorFlow 1.x’te hesaplamalar bir hesaplama grafiği olarak tanımlanırdı. TensorFlow 2.x’te ise Eager Execution varsayılan olarak etkindir:
# Eager Execution örneği
a = tf.constant(3)
b = tf.constant(4)
c = a + b
print(c.numpy()) # Hemen hesaplanır ve sonuç döndürülür
Değişkenler (Variables)
Model parametrelerini saklamak için kullanılır:
my_var = tf.Variable(initial_value=5.0, name="my_variable")
my_var.assign(10.0) # Değeri değiştirme
Katmanlar (Layers) ve Modeller (Models)
TensorFlow’da sinir ağı katmanları tf.keras.layers
modülünde bulunur:
from tensorflow.keras import layers
layer = layers.Dense(units=10, activation='relu')
TensorFlow ile İlk Sinir Ağı Modeli
Temel bir sinir ağı modeli oluşturup eğitelim:
import tensorflow as tf
from tensorflow.keras import layers, models
# Veri setini yükleme (MNIST)
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0 # Normalizasyon
# Model oluşturma
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
layers.Dropout(0.2),
layers.Dense(10, activation='softmax')
])
# Modeli derleme
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# Modeli eğitme
history = model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))
# Değerlendirme
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print(f"nTest doğruluğu: {test_acc*100:.2f}%")
TensorFlow’un Gelişmiş Özellikleri
Özel Katmanlar ve Modeller Oluşturma
TensorFlow, özel katmanlar ve modeller oluşturmanıza olanak tanır:
class MyDenseLayer(tf.keras.layers.Layer):
def __init__(self, units=32):
super(MyDenseLayer, self).__init__()
self.units = units
def build(self, input_shape):
self.w = self.add_weight(
shape=(input_shape[-1], self.units),
initializer="random_normal",
trainable=True,
)
self.b = self.add_weight(
shape=(self.units,), initializer="random_normal", trainable=True
)
def call(self, inputs):
return tf.matmul(inputs, self.w) + self.b
Veri Artırma (Data Augmentation)
Görüntü veri setlerini büyütmek için:
data_augmentation = tf.keras.Sequential([
layers.experimental.preprocessing.RandomFlip("horizontal"),
layers.experimental.preprocessing.RandomRotation(0.1),
layers.experimental.preprocessing.RandomZoom(0.1),
])
Transfer Öğrenimi (Transfer Learning)
Önceden eğitilmiş modelleri kullanma:
base_model = tf.keras.applications.MobileNetV2(
input_shape=(224, 224, 3),
include_top=False,
weights='imagenet'
)
base_model.trainable = False # Temel modelin ağırlıklarını dondur
model = tf.keras.Sequential([
base_model,
layers.GlobalAveragePooling2D(),
layers.Dense(1, activation='sigmoid')
])
TensorBoard ile Model Görselleştirme
TensorFlow’un güçlü görselleştirme aracı TensorBoard’u kullanma:
# Model eğitimine TensorBoard callback ekleme
tensorboard_callback = tf.keras.callbacks.TensorBoard(
log_dir='./logs',
histogram_freq=1,
profile_batch='500,520'
)
model.fit(x_train, y_train,
epochs=5,
validation_data=(x_test, y_test),
callbacks=[tensorboard_callback])
# TensorBoard'u başlatmak için terminalde:
# tensorboard --logdir=./logs
TensorFlow Model Dağıtımı
Eğitilmiş bir modeli kaydetme ve yükleme:
# Modeli kaydetme
model.save('my_model.h5')
# Modeli yükleme
new_model = tf.keras.models.load_model('my_model.h5')
# TensorFlow Serving için SavedModel formatında kaydetme
tf.saved_model.save(model, 'saved_model/1')
TensorFlow.js ile Web’de Çalıştırma
TensorFlow modellerini web tarayıcılarında çalıştırmak için:
-
Modeli TensorFlow.js formatına dönüştürün:
Copypip install tensorflowjs tensorflowjs_converter --input_format=keras my_model.h5 ./tfjs_model
-
Web sayfasında modeli yükleyin:
htmlCopy<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@3.0.0/dist/tf.min.js"></script> <script> async function loadModel() { const model = await tf.loadLayersModel('tfjs_model/model.json'); return model; } </script>
Run HTML
TensorFlow Lite ile Mobil Cihazlarda Çalıştırma
Mobil cihazlar için optimize edilmiş modeller oluşturma:
# TensorFlow Lite'a dönüştürme
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
# .tflite dosyasını kaydetme
with open('model.tflite', 'wb') as f:
f.write(tflite_model)
TensorFlow ve Performans Optimizasyonu
GPU Kullanımını Optimize Etme
# GPU bellek kullanımını ayarlama
gpus = tf.config.list_physical_devices('GPU')
if gpus:
try:
# Sadece ihtiyaç duyulan bellek miktarını ayır
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
except RuntimeError as e:
print(e)
Veri Pipeline’ını Optimize Etme
# tf.data API ile veri yükleme performansını artırma
dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))
dataset = dataset.shuffle(buffer_size=1024).batch(64).prefetch(tf.data.AUTOTUNE)
model.fit(dataset, epochs=5)
Mixed Precision Training
# Mixed precision kullanımı (GPU'lar için)
policy = tf.keras.mixed_precision.Policy('mixed_float16')
tf.keras.mixed_precision.set_global_policy(policy)
TensorFlow ile Yaygın Makine Öğrenimi Görevleri
Görüntü Sınıflandırma
# CNN modeli oluşturma
model = models.Sequential([
layers
TensorFlow Kütüphanesi için SEO Anahtar Kelimeleri
Genel TensorFlow Anahtar Kelimeleri
-
TensorFlow nedir
-
TensorFlow kurulumu
-
TensorFlow kullanımı
-
TensorFlow örnekleri
-
TensorFlow eğitimi
-
TensorFlow dersleri
-
TensorFlow rehberi
-
TensorFlow Python
-
TensorFlow makine öğrenimi
-
TensorFlow derin öğrenme
-
TensorFlow neural networks
-
TensorFlow keras
-
TensorFlow model oluşturma
-
TensorFlow GPU desteği
-
TensorFlow vs PyTorch
TensorFlow Teknik Anahtar Kelimeleri
-
TensorFlow tensörler
-
TensorFlow grafik modu
-
TensorFlow eager execution
-
TensorFlow veri yükleme
-
TensorFlow Dataset API
-
TensorFlow katmanlar
-
TensorFlow optimizasyon
-
TensorFlow loss fonksiyonları
-
TensorFlow aktivasyon fonksiyonları
-
TensorFlow callback’ler
-
TensorFlow model kaydetme
-
TensorFlow model yükleme
-
TensorFlow transfer öğrenme
-
TensorFlow fine-tuning
-
TensorFlow veri artırma
TensorFlow Uygulama Alanları
-
TensorFlow görüntü işleme
-
TensorFlow nesne tanıma
-
TensorFlow doğal dil işleme
-
TensorFlow metin sınıflandırma
-
TensorFlow ses tanıma
-
TensorFlow zaman serisi tahmini
-
TensorFlow tavsiye sistemleri
-
TensorFlow otonom araçlar
-
TensorFlow sağlık uygulamaları
-
TensorFlow finansal tahmin
-
TensorFlow chatbot geliştirme
-
TensorFlow yüz tanıma
-
TensorFlow veri analizi
-
TensorFlow veri görselleştirme
-
TensorFlow edge computing
TensorFlow Gelişmiş Konular
-
TensorFlow dağıtık eğitim
-
TensorFlow TPU kullanımı
-
TensorFlow model optimizasyon
-
TensorFlow quantization
-
TensorFlow Lite
-
TensorFlow.js
-
TensorFlow Serving
-
TensorFlow model dağıtımı
-
TensorFlow üretim ortamı
-
TensorFlow REST API
-
TensorFlow Docker
-
TensorFlow Kubernetes
-
TensorFlow performans ayarlama
-
TensorFlow bellek yönetimi
-
TensorFlow multi-GPU eğitim
TensorFlow Öğrenme Kaynakları
-
TensorFlow Türkçe kaynak
-
TensorFlow ücretsiz kurs
-
TensorFlow belgeleri
-
TensorFlow örnek projeler
-
TensorFlow GitHub projeleri
-
TensorFlow video eğitim
-
TensorFlow kitap önerileri
-
TensorFlow sertifika programı
-
TensorFlow workshop
-
TensorFlow topluluk desteği
-
TensorFlow sorun çözme
-
TensorFlow hata ayıklama
-
TensorFlow yeni başlayanlar
-
TensorFlow ileri seviye
-
TensorFlow uzmanlık
TensorFlow Versiyonları
-
TensorFlow 2.x
-
TensorFlow 1.x
-
TensorFlow güncelleme
-
TensorFlow yeni özellikler
-
TensorFlow sürüm notları
-
TensorFlow kararlı sürüm
-
TensorFlow nightly build
-
TensorFlow GPU sürümü
-
TensorFlow CPU sürümü
-
TensorFlow Mac desteği
-
TensorFlow Windows desteği
-
TensorFlow Linux desteği
-
TensorFlow Raspberry Pi
-
TensorFlow mobil desteği
-
TensorFlow tarayıcı desteği
Review TensorFlow Nedir? Detaylı Kurulum Rehberi ve Kapsamlı Kullanım Kılavuzu.