시작하기무료로 시작하기

모델의 레이어 동결하기

사전 학습된 가중치를 불러온 뒤, 새 작업에 맞춰 모델을 미세 조정하려고 합니다. 이 모델에는 선형 레이어가 세 개 있습니다. 하지만 데이터셋이 작기 때문에, 이 모델의 마지막 선형 레이어만 학습하고 앞의 두 선형 레이어는 동결하려고 합니다.

모델은 이미 생성되어 있으며 model 변수에 있습니다. 모델의 named_parameters 메서드를 사용해 모델의 파라미터를 나열할 것입니다. 각 파라미터는 이름으로 식별되며, 이름은 x.name 형식을 따르는 문자열입니다. 여기서 x는 레이어의 인덱스입니다.

선형 레이어에는 두 가지 파라미터, 즉 weightbias가 있다는 점을 기억하세요.

이 연습은 강의의 일부입니다

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.____ = ____
코드 편집 및 실행