iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
1
自我挑戰組

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

[Day 11]繼續努力,再接再厲!

  • 分享至 

  • xImage
  •  
昨天經歷許多努力後,今天還要繼續加油!昨天開始訓練後,今天會先仔細講解昨天的程式碼,再繼續前進。

開始訓練
昨日的程式碼如下:

train_history =model.fit(X=X_Train_normalize,
                         Y=Y_Train_OneHot,validation_split=0.2,
                         epochs=10, batch_size=200,verbose=2)

我們來逐一講解:
使用model.fit進行訓練,訓練過程會儲存在train_history變數,輸入以下參數:

  1. x=x_Train_normalize(features數字影像的特徵值)
    y=y_Train_Onehot(label數字影像真實的值)

  2. 設定訓練與驗證資料比例

  • 設定參數validation_split=0.2
    (訓練前keras會將資料分成80%訓練資料與20%驗證資料。因為全部是60000筆,所以分成600000.8=48000作為訓練資料,600000.2=12000作為驗證資料)
  1. 設定epoch(訓練週期)次數與每一批次筆數
  • epochs=10: 執行10次訓練週期
  • batch_size=200: 每一批次200筆資料
  1. 設定訓練過程
  • verbose=2: 顯示訓練過程
  • 使用48000筆訓練資料進行訓練,分為每一批次200筆,所以大約分為240批次(48000/200=240)進行訓練
  • epoch訓練完成後,會計算此次訓練週期的準確率與誤差,並且記錄每一筆資料於train_history中。

執行後就成功囉!

建立show_train_history顯示訓練過程
之前訓練步驟,會將每一個訓練週期的準確率與誤差,紀錄在train_history變數。輸入以下指令即可查看:

畫出accuracy執行結果
鍵入以下程式碼畫出accuacy準確率執行結果,程式即可自行繪出圖形,程式碼如下所示:

show_train_history(train_history,'acc','val_acc')

畫出loss誤差執行結果
執行以下指令可執行:

show_train_history(train_history,'loss','val_loss')

這樣我們就完成訓練啦!明天會繼續進行預測與測試資料,再接再厲囉!/images/emoticon/emoticon08.gif

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


上一篇
[Day 10]建立模型與開始訓練!
下一篇
[Day 12]測試資料評估準確率與進行預測
系列文
TensorFlow 2 30天自我養成計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言