iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0
AI & Data

手寫中文字之影像辨識系列 第 10

【第10天】訓練模型-預訓練模型

  • 分享至 

  • xImage
  •  

摘要

  1. Keras Application
  2. 預訓練模型種類
  3. 模型選用考量
  4. 選用結果

內容

  1. Keras Application

    1.1 簡介:

    • ILSVRC競賽每年從ImageNet抽取樣本,其中圖像識別的訓練集,包括1000種分類。詳細分類請參考「ImageNet-1000種物體對應編號」
    • Keras Application收錄歷年競賽的深度學習模型,其中帶有預訓練權重,只要以API呼叫,就能迅速進行遷移學習。

    1.2 用途:

    • 預測(如:以VGG16模型對新資料集標籤,用於資料前處理篩選犬類的照片

    • 特徵萃取(如:以IncetionV3模型,從房間擺設照片萃取特徵,用於判斷擺設風格。)

    • 微調(如:以Xception模型,變更輸入層與輸出層後重新訓練模型,用於辨識貓狗照片)

    # 載入keras模型(變更圖片輸入格式)
    model = DenseNet201(include_top=False,
                  weights='imagenet',
                  input_tensor=Input(shape=(80, 80, 3)))
    # 定義輸出層(變更輸出層類別數)
    x = model.output
    x = GlobalAveragePooling2D()(x)
    predictions = Dense(800, activation='softmax')(x)
    model = Model(inputs=model.input, outputs=predictions)
    
  2. 預訓練模型種類

    2.1 種類

    圖片來自於:https://keras.io/api/applications/

    2.2 說明

    • Size:預訓練模型大小。(與模型部署有關)
    • TOP-1 Accuracy:一張照片第1次辨識,正確分類的準確率。
    • TOP-5 Accuracy:一張照片辨識5次,正確分類的準確率。
    • Parameters(參數):數量越多,就需要更多的運算時間。
    • Time per inference step:CPU與GPU推論的時間。在(batch size, batch)=(30, 20)的情況下,重複測試10次的平均時間。
  3. 模型選用考量:

    3.1 推理速度:因為正式比賽時,主辦方呼叫手寫中文字辨識API後,參賽者需要在1秒內回傳模型的預測結果。故選擇Time per inference step較少的。

    3.2 準確度:Top-5 Accuracy、Top-1 Accuracy高。

    3.3 模型啟用時間短:Size小(輕量化模型)。

    3.4 訓練時間:參數少。

  4. 選用結果:
    4.1 依據3的考量,我們最終挑選出4個模型,作為預訓練模型。

    4.2 此外,我們挑選與InceptionResNet發表在同一篇論文的InceptionV4,一同加入比較。


小結

下一章,目標是:「介紹Keras Application的重要函數」。

讓我們繼續看下去...


參考資料

  1. Keras Application_中文
  2. Keras Application_英文

上一篇
【第9天】訓練模型-遷移學習
下一篇
【第11天】訓練模型-Keras Application重要函數
系列文
手寫中文字之影像辨識31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言