Keras Application
1.1 簡介:
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.1 種類
圖片來自於:https://keras.io/api/applications/
2.2 說明
模型選用考量:
3.1 推理速度:因為正式比賽時,主辦方呼叫手寫中文字辨識API後,參賽者需要在1秒內回傳模型的預測結果。故選擇Time per inference step較少的。
3.2 準確度:Top-5 Accuracy、Top-1 Accuracy高。
3.3 模型啟用時間短:Size小(輕量化模型)。
3.4 訓練時間:參數少。
選用結果:
4.1 依據3的考量,我們最終挑選出4個模型,作為預訓練模型。
4.2 此外,我們挑選與InceptionResNet發表在同一篇論文的InceptionV4,一同加入比較。
下一章,目標是:「介紹Keras Application的重要函數」。
讓我們繼續看下去...