전이 학습을 하려는데 궁금한 것이 있습니다.

파이 토치의 ResNet 18 을 전이학습을 해서 사용하려고 하는데,
혹시 마지막 FC Layer 을 빼고 싶습니다.
마지막 계층만 뺄 수 있는 방법이 있을까요??

안녕하세요, @dreamyou0701 님.

아래 튜토리얼에 찾으시는 것이 설명되어 있는 것 같습니다. :slight_smile:
https://tutorials.pytorch.kr/beginner/transfer_learning_tutorial.html

튜토리얼에 소개된 아래 코드처럼 마지막 fc 레이어를 새로 정의해주는데, 이 때 나머지 파라매터들을 고정시키냐 아냐에 따라서 requires_gradFalse로 설정하시거나 그대로 두시면 될거 같습니다.

model_conv = torchvision.models.resnet18(pretrained=True)
for param in model_conv.parameters():
    param.requires_grad = False

# 새로 생성된 모듈의 매개변수는 기본값이 requires_grad=True 임
num_ftrs = model_conv.fc.in_features
model_conv.fc = nn.Linear(num_ftrs, 2)