Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Keras

Keras, sinir ağları oluşturmak ve eğitmek için kullanılan üst düzey bir Python API'sidir; Keras 3'ten bu yana aynı kodu JAX, TensorFlow veya PyTorch üzerinde çalıştırır.

Keras, sinir ağları oluşturmak ve eğitmek için kullanılan, açık kaynaklı, üst düzey bir Python API'sidir. François Chollet, derin öğrenme deneylerinin hızla yazılabilmesi için Keras'ı Mart 2015'te yayımladı: bir model, katmanlardan oluşan bir yığın veya grafiktir; compile, optimize ediciyi, kayıp fonksiyonunu ve ölçütleri ayarlar; fit ise eğitim döngüsünü çalıştırır. Keras, TensorFlow'un resmî üst düzey API'si hâline geldi. Kasım 2023'te yayımlanan Keras 3, içe aktarma sırasında seçilen JAX, TensorFlow veya PyTorch üzerinde aynı model kodunu çalıştırır. Kısa ve okunabilir kodu, Keras'ı öğretim, prototip oluşturma ve Kaggle yarışmalarının yanı sıra görüntü sınıflandırma ve doğal dil işleme alanlarındaki üretim modelleri için de yaygın bir seçenek hâline getirir.

Keras Nasıl Çalışır#

Bir Keras modeli, her biri kendi ağırlıklarını barındıran Dense, Conv2D, LSTM ve MultiHeadAttention gibi katmanlardan oluşturulur. Keras, bu katmanları bir araya getirmek için üç yol sunar: düz bir yığın için Sequential API'si, dalları, paylaşılan katmanları veya birden çok girdisi olan grafikler için işlevsel API ve ileri geçiş üzerinde tam denetim için keras.Model sınıfını alt sınıflara ayırma. Derlenmiş bir model, gruplamayı, geri yayılımı, ölçütleri, doğrulama verilerini ve kontrol noktası kaydetme ya da erken durdurma için geri çağırımları yöneten fit ile eğitilir; ardından yeni verileri evaluate ve predict ile puanlar. Bu kod, Keras ile birlikte gelen MNIST veri kümesinde küçük bir rakam sınıflandırıcısı eğitir:

import os

os.environ["KERAS_BACKEND"] = "torch"  # or "jax" or "tensorflow", set before importing Keras

import keras

# MNIST handwritten digits, with pixels scaled to [0, 1]
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# Define the model as a stack of layers
model = keras.Sequential(
    [
        keras.Input(shape=(28, 28)),
        keras.layers.Flatten(),
        keras.layers.Dense(128, activation="relu"),
        keras.layers.Dense(10, activation="softmax"),
    ]
)

# Configure training, then train and evaluate
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
model.fit(x_train, y_train, epochs=2, batch_size=64, verbose=0)
loss, accuracy = model.evaluate(x_test, y_test, verbose=0)
print(f"Test accuracy: {accuracy:.3f}")

İki epoch sonra yaklaşık 0.96 test doğruluğu yazdırır ve "torch" değerini "jax" veya "tensorflow" olarak değiştirmek, başka hiçbir satırı düzenlemeden aynı modeli başka bir çerçevede çalıştırır.

Keras 3 ve Arka Uçları#

Keras başlangıçta Theano, TensorFlow ve CNTK dâhil olmak üzere çeşitli motorlarda çalışıyordu. Eylül 2019'da yayımlanan Keras 2.3, birden çok arka ucu destekleyen son sürümdü; ardından geliştirme, tf.keras olarak TensorFlow'un içine taşındı. Keras 3, arka uç bağımsızlığını yeniden sağladı: katmanlar ve modeller, her arka ucun uyguladığı NumPy tarzı bir işlem kümesi olan keras.ops temel alınarak yazılır; böylece .keras biçiminde kaydedilen bir model herhangi bir arka uçta yeniden yüklenip eğitilebilir. PyTorch arka ucuyla bir Keras modeli aynı zamanda özel bir PyTorch eğitim döngüsünün kullanabileceği bir torch.nn.Module nesnesidir; Keras 3.8'den itibaren yalnızca çıkarım yapan bir OpenVINO arka ucu da eğitilmiş modelleri Intel donanımında çalıştırır.

TensorFlow 2.16'dan itibaren TensorFlow'u yüklemek Keras 3'ü de yükler; hâlâ Keras 2'ye ihtiyaç duyan kodlar ayrı tf_keras paketini kullanır. Model dönüştürücüler de Keras'ı hedefler: Ultralytics YOLO, YOLO26 modelini TensorFlow SavedModel biçimine dışa aktardığında onnx2tf dönüştürücüsü, ONNX grafiğindeki PyTorch ağını kaydetmeden önce katman katman yeniden Keras modeli olarak oluşturur.

KerasHub'da Önceden Eğitilmiş Modeller#

KerasHub, görüntüler için ResNet, metin için BERT ve Gemma büyük dil modelleri gibi popüler mimarilerin önceden eğitilmiş kontrol noktalarına sahip Keras 3 uygulamalarını sunar. Bir hazır ayar adı, aktarım öğrenmesine hazır bir model yükler: keras_hub.models.ImageClassifier.from_preset("resnet_50_imagenet"), ImageNet üzerinde eğitilmiş bir sınıflandırıcı döndürür; ince ayarlama bu sınıflandırıcıyı, yukarıda kullanılan aynı fit çağrısıyla yeni bir veri kümesine uyarlar. Keras 3'ün geri kalanında olduğu gibi KerasHub modelleri de üç eğitim arka ucundan herhangi birinde çalışır.

Keras, TensorFlow ve PyTorch Karşılaştırması#

  • TensorFlow: Kendi çalışma zamanı, derleyicisi ve TensorFlow Serving ile LiteRT gibi dağıtım araçları bulunan eksiksiz bir çerçevedir. Keras, birçok TensorFlow kullanıcısının model yazdığı API'dir; TensorFlow ise Keras kodunu çalıştıran motorlardan biridir.
  • PyTorch: Kullanıcıların genellikle eğitim döngüsünü kendilerinin yazdığı veya PyTorch Lightning gibi bir kitaplık kullandığı bir çerçevedir. Keras, döngüyü fit aracılığıyla sağlar ve arka uç olarak PyTorch'u kullanabilir; dolayısıyla ikisi birbirini dışlamaz.
  • JAX: Google'ın türev alma, XLA derleme ve vektörleştirme için birleştirilebilir işlev dönüşümleri kitaplığıdır. JAX'te yerleşik bir katman veya eğitim API'si yoktur; Keras, JAX üzerine böyle bir API eklemenin yollarından biridir.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla