Přidávání vrstev do sítě
Viděl/a jsi, jak experimentovat se širšími sítěmi. V tomto cvičení vyzkoušíš hlubší síť (s více skrytými vrstvami).
Začínáš opět od základního modelu model_1. Ten má 1 skrytou vrstvu s 10 uzly — přehled jeho struktury vidíš vypsaný níže. Vytvoříš podobnou síť, ale se 3 skrytými vrstvami (každá stále s 10 uzly).
Fitování obou modelů chvíli potrvá, takže po spuštění kódu chvíli počkej, než se výsledky zobrazí.
Toto cvičení je součástí kurzu
Úvod do deep learningu v Pythonu
Pokyny k cvičení
- Definuj model
model_2, který vychází zmodel_1, ale místo jedné skryté vrstvy má 3 skryté vrstvy po 10 uzlech.- Použij
input_shapek zadání vstupního tvaru v první skryté vrstvě. - Pro 3 skryté vrstvy použij aktivaci
'relu', pro výstupní vrstvu aktivaci'softmax'se 2 uzly.
- Použij
- Zkompiluj
model_2stejně jako předchozí modely: jakooptimizerzadej'adam', jako loss'categorical_crossentropy'ametrics=['accuracy']. - Klikni na 'Submit Answer', nech oba modely natrénovat a podívej se, který podává lepší výsledky!
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# The input shape to use in the first hidden layer
input_shape = (n_cols,)
# Create the new model: model_2
model_2 = ____
# Add the first, second, and third hidden layers
____
____
____
# Add the output layer
____
# Compile model_2
____
# Fit model 1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)
# Fit model 2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)
# Create the plot
plt.plot(model_1_training.history['val_loss'], 'r', model_2_training.history['val_loss'], 'b')
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()