Budowanie modelu CNN
Budowanie modelu CNN w Keras nie jest wcale trudniejsze niż tworzenie modeli, które już poznałeś w tym kursie! Wystarczy skorzystać z warstw konwolucyjnych.
Zbudujesz płytki model konwolucyjny (model), który klasyfikuje cyfry ze zbioru danych MNIST – tego samego, który odszumiałeś przy użyciu autoenkodera! Obrazy mają rozmiar 28 x 28 pikseli i tylko jeden kanał, ponieważ są to zdjęcia w skali szarości.
Do dzieła – czas zbudować ten mały model konwolucyjny!
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego z Keras
Instrukcje do ćwiczenia
- Zaimportuj warstwy
Conv2DiFlatten, a następnie utwórz instancję modelu. - Dodaj pierwszą warstwę konwolucyjną z 32 filtrami o rozmiarze 3x3 i odpowiednią trójwymiarową krotką jako
input_shape. - Dodaj drugą warstwę konwolucyjną z 16 filtrami o rozmiarze 3x3 z aktywacją relu.
- Spłaszcz dane wyjściowe poprzedniej warstwy, tworząc jednowymiarowy wektor.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import the Conv2D and Flatten layers and instantiate model
from tensorflow.keras.____ import ____,____
model = ____
# Add a convolutional layer of 32 filters of size 3x3
model.add(Conv2D(____, kernel_size = ____, input_shape = (____, ____, 1), activation = 'relu'))
# Add a convolutional layer of 16 filters of size 3x3
model.add(____(____, ____ = ____, activation = ____))
# Flatten the previous layer output
model.add(____)
# Add as many outputs as classes with softmax activation
model.add(Dense(10, activation = 'softmax'))