開始使用免費開始

凍結模型的部分層

你將在載入預先訓練(pre-trained)權重後,針對新的任務進行微調(fine-tune)。這個模型包含 3 個線性層。不過由於你的資料集很小,你只想訓練最後一個線性層,並凍結前兩個線性層。

模型已經建立並存在變數 model 中。你會使用模型的 named_parameters 方法來列出模型的參數。每個參數都有一個名稱。名稱使用以下慣例:x.name,其中 x 是該層的索引。

記得線性層有兩個參數:weightbias

本練習屬於課程

使用 PyTorch 的深度學習入門

檢視課程

練習說明

  • 使用 if 敘述判斷某個參數是否為第 1 或第 2 層的 weight。
  • 凍結此模型前兩層的 weight。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

for name, param in model.named_parameters():
  
    # Check for first layer's weight
    if name == '____':
   
        # Freeze this weight
        param.____ = ____
        
    # Check for second layer's weight
    if name == '____':
      
        # Freeze this weight
        param.____ = ____
編輯並執行程式碼