1. Keras Nedir?
Keras, derin öğrenme modellerini hızlı ve kolay bir şekilde oluşturmak için kullanılan üst düzey bir sinir ağları kütüphanesidir. Python ile yazılmıştır ve TensorFlow, Theano ve Microsoft Cognitive Toolkit (CNTK) gibi alt seviye derin öğrenme çerçeveleri üzerinde çalışır. Keras, kullanıcı dostu arayüzü sayesinde hızlı prototipleme yapmayı mümkün kılar ve makine öğrenimi (ML) ile yapay zeka (AI) projelerinde yaygın olarak kullanılır.
Keras’ın Öne Çıkan Özellikleri
-
Kullanıcı Dostu API: Basit ve anlaşılır bir arayüz sunar.
-
Modüler Yapı: Katmanlar, optimizasyon algoritmaları ve kayıp fonksiyonları kolayca birleştirilebilir.
-
TensorFlow Entegrasyonu: TensorFlow 2.0 ile tam uyumludur (
tf.keras
olarak dahili olarak gelir). -
Çoklu Backend Desteği: TensorFlow, Theano ve CNTK ile çalışabilir.
-
GPU ve TPU Desteği: Büyük ölçekli modelleri hızlandırmak için kullanılabilir.
2. Keras Kurulumu
Keras’ı kullanabilmek için öncelikle Python ve gerekli bağımlılıkların yüklü olması gerekir. İşte adım adım kurulum rehberi:
Adım 1: Python’un Yüklenmesi
Keras, Python 3.6 ve üzeri sürümlerle uyumludur. Eğer Python yüklü değilse:
-
Python resmi sitesinden en son sürümü indirin.
-
Kurulum sırasında “Add Python to PATH” seçeneğini işaretleyin.
Adım 2: pip ile Keras ve TensorFlow Yükleme
Keras genellikle TensorFlow backend’i ile kullanılır. Kurulum için terminalde şu komutu çalıştırın:
pip install tensorflow keras
(TensorFlow, Keras’ı içinde barındırır, bu yüzden ayrıca keras
kurmak gerekmez, ancak eski sürümler için gerekebilir.)
Adım 3: Kurulumun Doğrulanması
Python’da aşağıdaki kodu çalıştırarak kurulumu test edebilirsiniz:
import tensorflow as tf
from tensorflow import keras
print("TensorFlow version:", tf.__version__)
print("Keras version:", keras.__version__)
Eğer herhangi bir hata almazsanız, kurulum başarılıdır.
3. Keras ile İlk Sinir Ağı Modeli Oluşturma
Keras’ın temel kullanımını anlamak için basit bir Yapay Sinir Ağı (YSA) modeli oluşturalım. Örnek olarak MNIST el yazısı rakam tanıma veri setini kullanacağız.
Adım 1: Gerekli Kütüphaneleri Yükleme
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
Adım 2: Veri Setini Yükleme ve Ön İşleme
# MNIST veri setini yükle
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
# Veriyi normalize et (0-255 arası değerleri 0-1 arasına ölçekle)
x_train = x_train.astype("float32") / 255.0
x_test = x_test.astype("float32") / 255.0
Adım 3: Model Mimarisi Oluşturma
model = keras.Sequential([
layers.Flatten(input_shape=(28, 28)), # Giriş katmanı (28x28 piksel)
layers.Dense(128, activation='relu'), # 128 nöronlu gizli katman
layers.Dense(10, activation='softmax') # Çıkış katmanı (10 sınıf)
])
Adım 4: Modeli Derleme
model.compile(
optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy']
)
Adım 5: Modeli Eğitme
history = model.fit(
x_train, y_train,
epochs=5,
batch_size=32,
validation_data=(x_test, y_test)
)
Adım 6: Modeli Değerlendirme
test_loss, test_acc = model.evaluate(x_test, y_test)
print(f"Test Doğruluğu: {test_acc}")
4. Keras ile Yaygın Kullanım Senaryoları
1. Evrişimli Sinir Ağları (CNN) ile Görüntü Sınıflandırma
model = keras.Sequential([
layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
layers.MaxPooling2D((2, 2)),
layers.Flatten(),
layers.Dense(10, activation='softmax')
])
2. Tekrarlayan Sinir Ağları (RNN) ile Zaman Serisi Tahmini
model = keras.Sequential([
layers.LSTM(64, input_shape=(10, 1)), # 10 zaman adımlı veri
layers.Dense(1)
])
3. Transfer Öğrenme ile Model Geliştirme (VGG16 Kullanımı)
base_model = keras.applications.VGG16(weights='imagenet', include_top=False)
model = keras.Sequential([
base_model,
layers.GlobalAveragePooling2D(),
layers.Dense(1, activation='sigmoid')
])
5. Keras Kullanırken Karşılaşılabilecek Sorunlar ve Çözümleri
Sorun | Çözüm |
---|---|
GPU kullanmıyor | tf.config.list_physical_devices('GPU') ile GPU’yu kontrol edin. |
Model eğitimi çok yavaş | Batch boyutunu artırın veya daha basit bir model kullanın. |
Overfitting (Aşırı Öğrenme) | Dropout katmanları ekleyin veya veri artırma (data augmentation) yapın. |
CUDA hatası | CUDA ve cuDNN sürümlerinin TensorFlow ile uyumlu olduğundan emin olun. |
6. Sonuç
Keras, derin öğrenme modellerini hızlı ve kolay bir şekilde oluşturmak için mükemmel bir kütüphanedir. TensorFlow ile entegre çalışması, kullanıcı dostu API’si ve geniş dokümantasyonu sayesinde yapay zeka ve makine öğrenimi projelerinde sıklıkla tercih edilir. Bu rehberde Keras’ın kurulumu, temel kullanımı ve yaygın senaryoları ele alınmıştır.
Eğer Keras ile ilgili daha fazla bilgi edinmek isterseniz, resmi dokümantasyonu inceleyebilirsiniz:
🔗 Keras Resmi Dokümantasyon
#Keras #DerinÖğrenme #YapayZeka #TensorFlow #Python #MachineLearning
Review Keras Nedir? Kurulumu ve Kullanımı Hakkında Detaylı Rehber.