0Pricing
Learn AI with Python · Ders

VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma

keras.applications.VGG16(weights='imagenet', include_top=False), özel bir başlık ekleme.

VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Keras Uygulamaları Modülü

tf.keras.applications, tek satırla indirip kullanabileceğiniz düzinelerce önceden eğitilmiş mimari sunar. İki klasik seçenek VGG16 (3x3 evrişimlerden oluşan basit ve derin bir yığın) ve ResNet50'dir (artık bağlantılar kullanan, daha derin ve daha doğru).

VGG16'yı Temel Model Olarak Yükleme

VGG16'yı ImageNet ağırlıklarıyla, ancak sınıflandırma başlığı olmadan yükleyin; böylece kendi başlığınızı ekleyebilirsiniz.

from tensorflow.keras.applications import VGG16

base = VGG16(
    weights="imagenet",        # download pretrained weights
    include_top=False,         # drop the 1000-class classifier
    input_shape=(224, 224, 3)  # standard ImageNet input size
)

Bağımsız Değişkenleri Anlama

  • weights="imagenet": rastgele ağırlıklar yerine önceden eğitilmiş ağırlıkları yükler.
  • include_top=False: kendi başlığınızı ekleyebilmeniz için özgün Dense sınıflandırıcıyı kaldırır.
  • input_shape=(224,224,3): yükseklik, genişlik ve 3 RGB kanalı.

include_top=False ayarı, modeli yeni bir görev için yeniden kullanılabilir hale getirir.

Temel Modeli Dondurma

İlk eğitim aşamasında önceden eğitilmiş evrişim ağırlıklarının sabit kalması için base.trainable = False ayarını yapın. Yalnızca yeni başlığınız öğrenir.

base.trainable = False
print(len(base.trainable_weights))  # -> 0 when frozen

GlobalAveragePooling2D

Temel model, (7, 7, 512) gibi 3B bir özellik haritası üretir. GlobalAveragePooling2D, her kanalı uzamsal ızgarası boyunca ortalar ve kanal başına tek bir vektöre dönüştürür; bu örnekte vektörün uzunluğu 512'dir.

Büyük bir Flatten + Dense katmanının yerini alarak parametre sayısını büyük ölçüde azaltır ve aşırı uyumu düşürür.

from tensorflow.keras.layers import GlobalAveragePooling2D

# (batch, 7, 7, 512) -> (batch, 512)
pooled = GlobalAveragePooling2D()(base.output)

Dense Çıktı Başlığını Ekleme

Sınıf sayınıza uygun boyutta bir Dense katmanı ekleyin. Çok sınıflı durumlarda softmax, ikili durumlarda sigmoid kullanın.

from tensorflow.keras import layers, Model

x = base.output
x = layers.GlobalAveragePooling2D()(x)
x = layers.Dropout(0.3)(x)
outputs = layers.Dense(10, activation="softmax")(x)
model = Model(inputs=base.input, outputs=outputs)

ResNet50'ye Geçiş

ResNet50 aynı arayüzü kullanır. Artık (atlama) bağlantıları, kaybolan gradyanlar olmadan çok daha derin bir modelin eğitilmesini sağlar; bu nedenle benzer hızda genellikle VGG16'dan daha yüksek ImageNet doğruluğu sunar.

from tensorflow.keras.applications import ResNet50

base = ResNet50(
    weights="imagenet",
    include_top=False,
    input_shape=(224, 224, 3)
)
base.trainable = False

VGG16 ve ResNet50 Karşılaştırması

  • VGG16: yaklaşık 138 milyon parametre, basit ve tekdüze 3x3 yığını, yüksek bellek kullanımı, anlaşılması kolay.
  • ResNet50: yaklaşık 25 milyon parametre, artık bloklar, daha derin, genellikle daha yüksek doğruluk ve daha düşük kaynak kullanımı.

Çoğu modern aktarım öğrenimi görevi için ResNet50 daha güçlü bir varsayılandır.

Ön İşlemeyi Eşleştirme

Her model ailesinin kendine ait bir preprocess_input işlevi vardır. VGG16 ortalama RGB değerlerini çıkarırken ResNet50 benzer bir caffe tarzı ölçeklendirme kullanır. Her zaman temel modelinizle eşleşen işlevi içe aktarın.

from tensorflow.keras.applications.resnet50 import preprocess_input

x = preprocess_input(image_batch)  # required for correct results

Modeli Derleme

Temel model dondurulmuşken normal bir optimizasyon yöntemiyle başlığı derleyip eğitin.

model.compile(
    optimizer="adam",
    loss="categorical_crossentropy",
    metrics=["accuracy"]
)
model.fit(train_ds, validation_data=val_ds, epochs=10)

Mimariyi İnceleme

Temel modelin dondurulduğunu (eğitilemeyen parametrelerin sayısının yüksek olduğunu) ve yalnızca başlığın eğitilebilir olduğunu doğrulamak için model.summary() çağrısını yapın. Bu sağlama kontrolü, kurulum hatalarını erkenden yakalar.

model.summary()
# Look at "Trainable params" vs "Non-trainable params"

Kısa Kontrol

Keras'ta bir aktarım öğrenimi modeli oluşturma konusundaki kavrayışınızı kontrol edin.

Özet

VGG16 ve ResNet50 modellerini weights="imagenet", include_top=False ve input_shape=(224,224,3) ile yüklediniz; base.trainable=False ile temel modeli dondurdunuz, özellikleri GlobalAveragePooling2D ile havuzladınız ve bir Dense çıktı başlığı eklediniz.

ResNet50 daha güçlü bir varsayılandır. Sırada: ince ayar yapmak için katmanların kilidini açmak var.

Sıkça Sorulan Sorular

“VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma” dersi ücretsiz mi?

Evet — “VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma” dersinde ne öğreneceğim?

keras.applications.VGG16(weights='imagenet', include_top=False), özel bir başlık ekleme. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Aktarım Öğrenmesi Kavramları ve Stratejileri
  2. VGG16 ve ResNet50'yi Temel Modeller Olarak Kullanma
  3. İnce Ayar: Dondurmayı Kaldırma ve Yeniden Eğitme
  4. Uçta Dağıtım için MobileNet ve EfficientNet
← Learn AI with Python Sayfasına Dön