เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ฟรีซเลเยอร์ของโมเดล

ในแบบฝึกหัดนี้ คุณจะ fine-tune โมเดลสำหรับงานใหม่หลังจากโหลด pre-trained weights เรียบร้อยแล้ว โมเดลประกอบด้วย linear layer สามชั้น อย่างไรก็ตาม เนื่องจากชุดข้อมูลมีขนาดเล็ก จึงต้องการฝึกเฉพาะ linear layer ชั้นสุดท้าย และฟรีซ linear layer สองชั้นแรกเท่านั้น

โมเดลถูกสร้างขึ้นและเก็บไว้ในตัวแปร model แล้ว ให้ใช้เมธอด named_parameters ของโมเดลเพื่อแสดงรายการพารามิเตอร์ทั้งหมด พารามิเตอร์แต่ละตัวจะถูกระบุด้วยชื่อในรูปแบบ x.name โดยที่ x คือดัชนีของเลเยอร์

จำไว้ว่า linear layer แต่ละชั้นมีพารามิเตอร์สองตัว ได้แก่ weight และ bias

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning เบื้องต้นด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้คำสั่ง if เพื่อตรวจสอบว่าพารามิเตอร์นั้นเป็น weight ของเลเยอร์ที่หนึ่งหรือเลเยอร์ที่สองหรือไม่
  • ฟรีซ weight ของ linear layer สองชั้นแรกของโมเดล

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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.____ = ____
แก้ไขและรันโค้ด