BaşlayınÜcretsiz başlayın

Kendi pooling işlemini yaz

Daha önce gördüğümüz gibi, CNN’lerde çok sayıda parametre olabilir. Sinir ağlarında evrişim katmanları arasına sıklıkla pooling katmanları eklenir; bu katmanlar çıktıları özetleyip sıkıştırır ve ağdaki bir sonraki katmandaki parametre sayısını azaltır. Bu, ağı daha hızlı eğitmek istediğimizde ya da çok büyük sayıda parametreyi öğrenmek için yeterli verimiz olmadığında işimize yarayabilir.

Bir pooling katmanı, özel bir tür evrişim olarak da görülebilir. Girdideki her pencere için maksimum piksel değerini bulur ve yalnızca bu pikseli geçirir. Bu egzersizde, daha önce iki boyutlu bir evrişim işlemi yazmak için kullandığın koda dayanarak, kendi maksimum pooling işlemini yazacaksın.

Bu egzersiz, kursun bir parçasıdır

Keras ile Görüntü Modellemesi

Kursa Göz Atın

Egzersiz talimatları

  • Girdi dizisini (im) indeksleyip doğru pencereyi seç.
  • Bu penceredeki maksimum değeri bul.
  • Bunu çıktı dizisindeki (result) doğru yere yerleştir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Result placeholder
result = np.zeros((im.shape[0]//2, im.shape[1]//2))

# Pooling operation
for ii in range(result.shape[0]):
    for jj in range(result.shape[1]):
        result[ii, jj] = np.max(____)
Kodu Düzenle ve Çalıştır