Bắt đầu ngayBắt đầu miễn phí

Đóng băng các lớp của một mô hình

Bạn sắp tinh chỉnh (fine-tune) một mô hình cho một tác vụ mới sau khi tải trọng số đã được huấn luyện trước. Mô hình gồm ba lớp tuyến tính (linear). Tuy nhiên, vì tập dữ liệu của bạn nhỏ, bạn chỉ muốn huấn luyện lớp tuyến tính cuối cùng và đóng băng hai lớp tuyến tính đầu tiên của mô hình.

Mô hình đã được tạo và lưu trong biến model. Bạn sẽ dùng phương thức named_parameters của mô hình để liệt kê các tham số. Mỗi tham số được mô tả bằng một tên. Tên này là một chuỗi theo quy ước đặt tên: x.name trong đó x là chỉ số của lớp.

Hãy nhớ rằng một lớp tuyến tính có hai tham số: weightbias.

Bài tập này là một phần của khóa học

Nhập môn Deep Learning với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Dùng câu lệnh if để kiểm tra xem một tham số có phải là weight từ lớp thứ nhất hoặc thứ hai hay không.
  • Đóng băng các weight của hai lớp đầu tiên trong mô hình này.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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.____ = ____
Chỉnh sửa và Chạy Mã