Začněte nyníZačněte zdarma

Napiš vlastní operaci poolingu

Jak jsme viděli, CNN mohou mít velké množství parametrů. Poolingové vrstvy se často přidávají mezi konvoluční vrstvy neuronové sítě, aby jejich výstupy přehledně shrnuly a zredukovaly počet parametrů v následující vrstvě. To se hodí, když chceš síť trénovat rychleji nebo když nemáš dostatek dat k učení velmi velkého počtu parametrů.

Poolingovou vrstvu lze popsat jako zvláštní druh konvoluce. Pro každé okno vstupních dat najde maximální hodnotu pixelu a dále předá pouze tento pixel. V tomto cvičení napíšeš vlastní operaci max poolingu — vycházet budeš z kódu, který jsi dříve použil/a pro dvourozměrnou konvoluci.

Toto cvičení je součástí kurzu

Image Modeling with Keras

Zobrazit kurz

Pokyny k cvičení

  • Indexuj do vstupního pole (im) a vyber správné okno.
  • Najdi maximum v tomto okně.
  • Ulož ho na správnou pozici ve výstupním poli (result).

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(____)
Upravit a spustit kód