Poolingové vrstvy v Kerasu
Keras implementuje pooling jako vrstvu, kterou lze přidat do CNN mezi ostatní vrstvy. V tomto cvičení sestavíš konvoluční neuronovou síť podobnou té, kterou jsi už budoval/a dříve:
Konvoluce => Konvoluce => Flatten => Dense
Tentokrát ale přidáš také poolingovou vrstvu. Architektura bude obsahovat jednu max-poolingovou vrstvu mezi konvoluční vrstvou a hustou vrstvou s poolingem 2x2:
Konvoluce => Max pooling => Konvoluce => Flatten => Dense
V tvém pracovním prostředí jsou k dispozici objekt model typu Sequential a objekty Dense, Conv2D, Flatten a MaxPool2D.
Toto cvičení je součástí kurzu
Image Modeling with Keras
Pokyny k cvičení
- Přidej vstupní konvoluční vrstvu (15 jednotek, velikost kernelu 2, aktivace
relu). - Přidej operaci max poolingu (pooling přes okna velikosti 2x2).
- Přidej další konvoluční vrstvu (5 jednotek, velikost kernelu 2, aktivace
relu). - Převeď výstup druhé konvoluce na jednorozměrný vektor pomocí Flatten a přidej vrstvu
Densepro výstup (3 kategorie, aktivacesoftmax).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Add a convolutional layer
____(____(15, kernel_size=2, activation='relu',
input_shape=(img_rows, img_cols, 1)))
# Add a pooling operation
____
# Add another convolutional layer
____
# Flatten and feed to output layer
model.add(____)
model.add(____(3, activation='softmax'))
model.summary()