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
Petunjuk latihan
- Gunakan pernyataan
ifuntuk 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.____ = ____