Keras 預訓練模型 layer 抽換
除了自己建模外,keras.applications 提供了數個預訓練的深度學習模型,包含常用的圖片分類模型 ResNet50、Vgg16/Vgg19 等,但是應用時可能會遇到需要調整輸入或輸出 layer 的狀況,最近練習時遇到案例輸入是 (128, 128, 3)、輸出是 2 個分類的,和預設的輸入 (244, 244, 3)、輸出 1000 類不同,在網路上找了一些抽換模型 layer 的方法,記錄下來
除了自己建模外,keras.applications 提供了數個預訓練的深度學習模型,包含常用的圖片分類模型 ResNet50、Vgg16/Vgg19 等,但是應用時可能會遇到需要調整輸入或輸出 layer 的狀況,最近練習時遇到案例輸入是 (128, 128, 3)、輸出是 2 個分類的,和預設的輸入 (244, 244, 3)、輸出 1000 類不同,在網路上找了一些抽換模型 layer 的方法,記錄下來
目的:依據 參考連結1 的模式,將等待訓練的 ML 模型送到 Azure ML Service Workspace 使用 GPU 來進行訓練(Experiment),以提高訓練效率
效果:用 ResNet50 訓練圖片 (128*128) 約 2 萬張,1 epoch CUP i5 訓練時間約 8700 秒;Azure GPU 約 800 秒
準備:(1) 在 Jupyter Notebook 上執行 Azure 工作區的建立和上傳資料 (2) 實際訓練內容 training script (train.py)