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

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

Zobrazit kurz

Pokyny k cvičení

  • Definuj model model_2, který vychází z model_1, ale místo jedné skryté vrstvy má 3 skryté vrstvy po 10 uzlech.
    • Použij input_shape k 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.
  • Zkompiluj model_2 stejně jako předchozí modely: jako optimizer zadej 'adam', jako loss 'categorical_crossentropy' a metrics=['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()
Upravit a spustit kód