iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0
AI & Data

AI從入門到放棄系列 第 24

Day 24 ~ AI從入門到放棄 - 遷移學習之三

  • 分享至 

  • xImage
  •  

你可以將某些層變更為不可訓練層,只訓練較靠近輸出的部分,特別是使用具有上千萬甚至億以上權重的模型,可以節省不少時間與運算資源,但此方法請不要使用在非遷移學習上,不對隨機初始化的權重做學習是不好的。

for layer in model.layers[:14]:
  layer.trainable = False

此動作關閉前14層,讓我們只訓練較靠近輸出的那幾層,你可以改變其數量,針對你的運算資源做調配,另外要關閉Functional模型的層時請注意,這種簡單從上面的層開始關下來的方法,請盡量只在Sequential方式搭建的模型使用,在Keras的預訓練模型裡的VGG16、VGG19即是,以下畫圖來說明為什麼。

使用Keras的plot_model功能需要的套件並沒有隨Tensorflow一併安裝,使用Colab的同學可以跳過安裝步驟,在本機使用環境的同學需安裝套件,請下載graphviz將裡面的bin資料夾解壓縮,跟你的ipynb檔案放在同一個資料夾,然後安裝以下套件。

pip install graphviz
pip install pydot

上一篇
Day 23 ~ AI從入門到放棄 - 遷移學習之二
下一篇
Day 25 ~ AI從入門到放棄 - 遷移學習之四
系列文
AI從入門到放棄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言