Keras 深度學習 - 模型編譯



編譯是使用一個名為compile的單一方法呼叫來執行的。

model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam')

compile方法需要幾個引數。loss 引數指定為型別'categorical_crossentropy'。metrics 引數設定為'accuracy',最後我們使用adam最佳化器來訓練網路。此階段的輸出如下所示:

compile method

現在,我們準備將資料饋送到我們的網路中。

載入資料

如前所述,我們將使用 Keras 提供的mnist資料集。當我們將資料載入到我們的系統中時,我們將將其拆分為訓練資料和測試資料。資料透過呼叫load_data方法載入,如下所示:

(X_train, y_train), (X_test, y_test) = mnist.load_data()

此階段的輸出如下所示:

Loading Data

現在,我們將學習載入資料集的結構。

提供給我們的資料是大小為 28 x 28 畫素的圖形影像,每個影像包含 0 到 9 之間的一個數字。我們將在控制檯上顯示前十張影像。執行此操作的程式碼如下:

# printing first 10 images
for i in range(10):

plot.subplot(3,5,i+1)
plot.tight_layout()
plot.imshow(X_train[i], cmap='gray', interpolation='none')
plot.title("Digit: {}".format(y_train[i]))
plot.xticks([])
plot.yticks([])

在 10 次計數的迭代迴圈中,我們在每次迭代中建立一個子圖,並在其中顯示來自X_train向量的影像。我們從相應的y_train向量為每個影像設定標題。請注意,y_train向量包含X_train向量中相應影像的實際值。我們透過呼叫兩個方法xticksyticks並使用空引數來刪除 x 和 y 軸標記。執行程式碼時,您將看到以下輸出:

Examining Data Points

接下來,我們將準備資料以將其饋送到我們的網路中。

廣告