MulaiMulai sekarang secara gratis

Tulis operasi pooling Anda sendiri

Seperti yang telah kita lihat, CNN dapat memiliki banyak parameter. Lapisan pooling sering ditambahkan di antara lapisan konvolusi pada sebuah jaringan saraf untuk merangkum keluarannya secara ringkas, dan mengurangi jumlah parameter pada lapisan berikutnya di jaringan. Ini dapat membantu jika kita ingin melatih jaringan lebih cepat, atau jika kita tidak memiliki cukup data untuk mempelajari jumlah parameter yang sangat besar.

Sebuah lapisan pooling dapat dijelaskan sebagai bentuk khusus dari konvolusi. Untuk setiap jendela pada masukan, lapisan ini mencari nilai piksel maksimum dan hanya meneruskan piksel tersebut. Dalam latihan ini, Anda akan menulis operasi max pooling Anda sendiri, berdasarkan kode yang sebelumnya Anda gunakan untuk menulis operasi konvolusi dua dimensi.

Latihan ini adalah bagian dari kursus

Pemodelan Citra dengan Keras

Lihat Kursus

Petunjuk latihan

  • Lakukan pengindeksan ke dalam array masukan (im) dan pilih jendela yang tepat.
  • Temukan nilai maksimum di dalam jendela ini.
  • Tempatkan nilai tersebut ke entri yang sesuai pada array keluaran (result).

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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(____)
Edit dan Jalankan Kode