모델의 레이어 동결하기
사전 학습된 가중치를 불러온 뒤, 새 작업에 맞춰 모델을 미세 조정하려고 합니다. 이 모델에는 선형 레이어가 세 개 있습니다. 하지만 데이터셋이 작기 때문에, 이 모델의 마지막 선형 레이어만 학습하고 앞의 두 선형 레이어는 동결하려고 합니다.
모델은 이미 생성되어 있으며 model 변수에 있습니다. 모델의 named_parameters 메서드를 사용해 모델의 파라미터를 나열할 것입니다. 각 파라미터는 이름으로 식별되며, 이름은 x.name 형식을 따르는 문자열입니다. 여기서 x는 레이어의 인덱스입니다.
선형 레이어에는 두 가지 파라미터, 즉 weight와 bias가 있다는 점을 기억하세요.
이 연습은 강의의 일부입니다
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.____ = ____