MulaiMulai sekarang secara gratis

Bekukan layer pada sebuah model

Anda akan melakukan fine-tuning sebuah model pada tugas baru setelah memuat bobot pra-latih. Model ini berisi tiga layer linear. Namun, karena himpunan data Anda kecil, Anda hanya ingin melatih layer linear terakhir dari model ini dan membekukan dua layer linear pertama.

Model telah dibuat dan disimpan dalam variabel model. Anda akan menggunakan metode named_parameters dari model untuk mencantumkan parameter-parameter model. Setiap parameter dideskripsikan oleh sebuah nama. Nama ini berupa string dengan konvensi penamaan berikut: x.name di mana x adalah indeks layer.

Ingat bahwa sebuah layer linear memiliki dua parameter: weight dan bias.

Latihan ini adalah bagian dari kursus

Pengantar Deep Learning dengan PyTorch

Lihat Kursus

Petunjuk latihan

  • Gunakan pernyataan if untuk memeriksa apakah suatu parameter adalah weight dari layer pertama atau kedua.
  • Bekukan weight dari dua layer pertama model ini.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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.____ = ____
Edit dan Jalankan Kode