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

Experimenty se širšími sítěmi

Teď už víš vše, co potřebuješ k experimentování s různými modely!

Model model_1 je předem načtený. Jeho shrnutí si můžeš prohlédnout v IPython Shellu. Jde o relativně malou síť s pouhými 10 uzly v každé skryté vrstvě.

V tomto cvičení vytvoříš nový model model_2, který je podobný modelu model_1, ale má 100 uzlů v každé skryté vrstvě.

Jakmile model_2 vytvoříš, oba modely se natrénují a zobrazí se graf znázorňující hodnotu ztrátové funkce obou modelů v každé epoše. Do příkazů pro trénování jsme přidali argument verbose=False, aby se vypisovalo méně průběžných informací – výsledky totiž budeš sledovat graficky, ne jako text.

Protože se trénují dva modely, po spuštění kódu chvíli počkej, než se výstupy zobrazí.

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

Úvod do deep learningu v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř model_2 jako repliku model_1, ale pro první dvě vrstvy Dense s aktivací 'relu' použij místo 10 uzlů 100. Pro výstupní vrstvu Dense použij 2 uzly a jako activation nastav 'softmax'.
  • Zkompiluj model_2 stejně jako předchozí modely: jako optimizer použij 'adam', pro ztrátovou funkci 'categorical_crossentropy' a nastav metrics=['accuracy'].
  • Klikni na Submit Answer – oba modely se natrénují a uvidíš, který podává lepší výsledky! Všimni si klíčového argumentu verbose=False v model.fit(): omezuje množství vypisovaných informací, protože modely budeš hodnotit graficky, ne prostřednictvím textu.

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

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

# Define early_stopping_monitor
early_stopping_monitor = EarlyStopping(patience=2)

# Create the new model: model_2
model_2 = ____

# Add the first and second layers
____.____(____(____, ____=____, input_shape=input_shape))
____

# Add the output layer
____

# Compile model_2
____

# Fit model_1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.2, callbacks=[early_stopping_monitor], verbose=False)

# Fit model_2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.2, callbacks=[early_stopping_monitor], 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