iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
1
自我挑戰組

TensorFlow 2 30天自我養成計畫系列 第 17

[Day 17]開始CNN訓練

  • 分享至 

  • xImage
  •  
昨天我們建置好了所有環境,今天就會正式開始訓練啦!今天結束Keras後就會回到主題TensorFlow,再與Keras的機器學習做些比較,謝謝大家!

定義訓練方式請查閱[Day16]

開始進行訓練
要進行訓練需鍵入以下程式碼:

以下將逐一解釋程式碼:

  1. 使用model.fit進行訓練,那這些過程會存至train_history

  2. 輸入訓練資料的參數
    X=X_Train4D_normalize(features數字影像的特徵值)
    Y=Y_TrainOneHot(label數字影像真實的值)

  3. validation_split=0.2
    一般來說,Keras在訓練會將資料分為兩部分,分別是80%訓練資料與20%驗證資料
    所以以筆者所做的範例為例,全部60000筆會分成48000的訓練資料(80%)與12000(20%)的驗證資料

  4. epochs=10設定訓練週期,我們是輸入10次,會執行10次訓練週期
    batch_size=300每一批次筆數,我們輸入的是300筆資料

  5. verbose=2顯示訓練過程

執行完成後,鍵入以下程式碼可查看:
畫出accuracy(準確率)需鍵入:

loss(誤差)需鍵入:

評估準確率
輸入以下程式碼:

scores = model.evaluate X_Test4D_normalize, Y_TestOneHot
scores[1]

我們逐一解釋程式碼:
scores = model.evaluate(使用model.evaluate進行評估準確率,評估後會儲存在scores)
X_Test4D_normalize(測試features)
Y_TestOneHot(測試label)

進行預測
鍵入以下指令可進行預測

prediction=model.predict_classes(X_Test4D_normalize)

再鍵入prediction[:10]可查看前10筆資料

我們這幾天使用了Keras與CNN大致上辨識了手寫數字,後續是有更進階版的,可以辨識的範圍更廣闊,等到以後有機會再多接觸吧!明天會回到TensorFlow的世界中,繼續努力啦!/images/emoticon/emoticon08.gif

Reference: 林大貴(2019):TensorFlow+Keras 深度學習人工智慧實務應用。新北市:博碩文化


上一篇
[Day 16]CNN環境建置Part 2
下一篇
[Day 18]回歸TensorFlow,繼續努力!
系列文
TensorFlow 2 30天自我養成計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言