Daha geniş ağlarla denemeler
Artık farklı modellerle denemelere başlamak için ihtiyaç duyduğun her şeyi biliyorsun!
model_1 adlı bir model önceden yüklendi. Bu modelin özetini IPython Shell’de yazdırılmış olarak görebilirsin. Bu, her gizli katmanda yalnızca 10 birim olan nispeten küçük bir ağdır.
Bu egzersizde, model_1’e benzer ama her gizli katmanda 100 birim bulunan model_2 adlı yeni bir model oluşturacaksın.
model_2’yi oluşturduktan sonra her iki model de eğitilecek ve her dönemde her iki modelin kayıp skorunu gösteren bir grafik sunulacak. Komut çıktılarının sayısını azaltmak için eğitim komutlarına verbose=False argümanını ekledik; çünkü bunlara metin yerine grafiksel olarak bakacaksın.
İki modeli birden eğittiğin için Kodu Çalıştır’a bastıktan sonra çıktıları görmek biraz zaman alabilir; sabırlı ol.
Bu egzersiz
Python ile Deep Learning'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
model_1’i kopyalayacak şekildemodel_2’yi oluştur; ancak eklediğin ilk iki'relu'etkinleştirmeliDensekatmanında10yerine100düğüm kullan. Çıkış içinDensekatmanındaactivationolarak'softmax'ile2düğüm kullan.model_2’yi önceki modellerde yaptığın gibi derle:optimizerolarak'adam', kayıp için'categorical_crossentropy'vemetrics=['accuracy']kullan.- Her iki modeli de eğitmek ve hangisinin daha iyi sonuç verdiğini görselleştirmek için 'Yanıtı Gönder'e bas.
model.fit()içindekiverbose=Falseanahtar argümanına dikkat et: Metin yerine grafiksel değerlendirme yapacağın için daha az güncelleme yazdırır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()