Kom igångKom igång gratis

Experimentera med bredare nätverk

Nu kan du börja experimentera med olika modeller!

En modell som heter model_1 har förinslästs. Du kan se en sammanfattning av den i IPython Shell. Det är ett relativt litet nätverk med bara 10 noder i varje dolt lager.

I den här övningen skapar du en ny modell kallad model_2 som liknar model_1, men med 100 noder i varje dolt lager.

När du har skapat model_2 tränas båda modellerna, och ett diagram visas med bådas förlustpoäng för varje epok. Vi har lagt till argumentet verbose=False i träningskommandona för att minska mängden utdata, eftersom du utvärderar resultaten grafiskt i stället för som text.

Eftersom två modeller tränas kan det ta en stund innan utdata visas när du kör koden – ha tålamod.

Den här övningen är en del av kursen

Introduktion till djupinlärning i Python

Visa kurs

Övningsinstruktioner

  • Skapa model_2 som en kopia av model_1, men använd 100 noder i stället för 10 för de första två Dense-lagren med aktiveringen 'relu'. Använd 2 noder för Dense-utdatalagret med 'softmax' som activation.
  • Kompilera model_2 på samma sätt som tidigare modeller: använd 'adam' som optimizer, 'categorical_crossentropy' för förlusten och metrics=['accuracy'].
  • Klicka på Skicka in svar för att träna båda modellerna och se vilken som ger bäst resultat! Lägg märke till nyckelordsargumentet verbose=False i model.fit(): det minskar mängden utdata, eftersom du utvärderar modellerna grafiskt i stället för via text.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod