TensorFlow Nedir? Detaylı Kurulum Rehberi ve Kapsamlı Kullanım Kılavuzu

TensorFlow Nedir? Detaylı Kurulum Rehberi ve Kapsamlı Kullanım Kılavuzu

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:

  1. Platform Bağımsızlığı: Windows, Linux, macOS ve mobil platformlarda çalışabilme

  2. Dağıtık Hesaplama Desteği: Birden fazla CPU ve GPU üzerinde paralel işlem yapabilme

  3. Yüksek Seviye API’ler: Keras entegrasyonu sayesinde basit ve anlaşılır arayüz

  4. TensorBoard: Model eğitiminin görselleştirilmesi için güçlü bir araç

  5. Üretim Hazırlığı: Eğitilen modellerin kolayca dağıtılabilmesi

  6. Geniş Topluluk Desteği: Aktif bir geliştirici topluluğu ve zengin dokümantasyon

  7. Ö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

  1. 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

  2. Virtual Environment Oluşturma (Önerilen):

    Copy
    python -m venv tensorflow_env
    tensorflow_envScriptsactivate
  3. TensorFlow’un Kurulumu:

    • CPU versiyonu için:

      Copy
      pip install tensorflow
    • GPU desteği için:

      Copy
      pip install tensorflow-gpu
  4. Kurulumun Doğrulanması:
    Python kabuğunu açıp aşağıdaki kodu çalıştırın:

    python
    Copy
    import tensorflow as tf
    print(tf.__version__)
    print("TensorFlow kurulumu başarılı:", tf.test.is_built_with_cuda())

macOS’ta TensorFlow Kurulumu

  1. Homebrew ile Python Kurulumu:

    Copy
    brew install python
  2. Virtual Environment Oluşturma:

    Copy
    python3 -m venv tensorflow_env
    source tensorflow_env/bin/activate
  3. TensorFlow Kurulumu:

    Copy
    pip install tensorflow
  4. Kurulum Testi:
    Python kabuğunda:

    python
    Copy
    import tensorflow as tf
    tf.constant('Hello, TensorFlow!').numpy()

Linux’ta TensorFlow Kurulumu (Ubuntu/Debian Örneği)

  1. Sistem Güncellemeleri:

    Copy
    sudo apt update
    sudo apt upgrade
  2. Python ve pip Kurulumu:

    Copy
    sudo apt install python3 python3-pip python3-venv
  3. Virtual Environment:

    Copy
    python3 -m venv ~/tensorflow_env
    source ~/tensorflow_env/bin/activate
  4. TensorFlow Kurulumu:

    Copy
    pip install --upgrade pip
    pip install tensorflow
  5. 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:

  1. https://colab.research.google.com adresine gidin

  2. Yeni bir notebook oluşturun

  3. İlk hücreye şunu yazın:

    python
    Copy
    %tensorflow_version 2.x
    import tensorflow as tf
    print(tf.__version__)
  4. 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:

python
Copy
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:

python
Copy
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:

python
Copy
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:

python
Copy
# 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:

python
Copy
# 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:

python
Copy
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:

python
Copy
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:

python
Copy
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:

python
Copy
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:

python
Copy
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:

python
Copy
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:

python
Copy
# 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:

python
Copy
# 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:

  1. Modeli TensorFlow.js formatına dönüştürün:

    Copy
    pip install tensorflowjs
    tensorflowjs_converter --input_format=keras my_model.h5 ./tfjs_model
  2. Web sayfasında modeli yükleyin:

    html
    Copy
    <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:

python
Copy
# 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

python
Copy
# 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

python
Copy
# 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

python
Copy
# 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

python
Copy
# 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.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir