keras神經網絡開發知識筆記
阿新 • • 發佈:2018-03-20
mode put num AI out keras 大致 代碼 ras
mnist數據集獲取60000個訓練樣本和10000個測試樣本,樣本為0-9十個數字,用全連接神經網絡進行訓練,並測試結果。
例程采用60000個數據樣本進行訓練,對於一般的電腦來說,這樣訓練會比較費時間,學習測試較慢
所以,可以加入以下幾行代碼:
# mnist has 60000 datas,down to 6000 to accelerate x_train=x_train[:6000] y_train=y_train[:6000] 將原始60000個樣本只取前6000個樣本進行訓練 例程的核心代碼為(部分數值有修改): model = Sequential() model.add(Dense(512, activation=‘relu‘, input_shape=(784,))) model.add(Dropout(0.2)) model.add(Dense(64, activation=‘relu‘)) model.add(Dropout(0.2)) model.add(Dense(num_classes, activation=‘softmax‘))
依次理解筆記:
model.add(Dense(512, activation=‘relu‘, input_shape=(784,)))
為model添加Dense層,即全鏈接層,該層有784維輸入,512為輸出
model.add(Dropout(0.2))
添加Dropout層,訓練時概率性丟棄
model.add(Dense(64, activation=‘relu‘))
再次添加Dense層,64維輸出(輸入為前一層,512維)
model.add(Dense(num_classes, activation=‘softmax‘))
再次添加Dense層,10維輸出(num_classes=10,即0-9十個數字)
所以我們大致能夠知道,神經網絡是輸入784維,第一層512維,第二層64維,輸出10維。
在例程末尾,可以添加兩句
model.summary() print (model.get_weights())
keras神經網絡開發知識筆記