Skip to content

4주차 과제 #5

@GirinMan

Description

@GirinMan

네 번째 과제: 최신 모델과 Transfer Learning의 효과 분석

회합 자료 링크: #1 (comment)
image

  • 이번에는 다른 사람들이 먼저 학습시켜놓은 최신 모델 구조를 사용하여 Fashion MNIST 분류를 수행하는 모델을 만들어 봅시다!
  • 노트북 실행 방법은 지난 회합 자료 마지막 부분을 참고하세요.

Colab Python 노트북을 사용한 모델 학습 코드 구성하기

fashion_mnist_cnn.ipynb

  • Google 계정 로그인 후 colab에 접속해서 현재 레포지토리의 /Week4/fashion_mnist_cnn.ipynb노트북을 실행해보면서 아래와 같은 단계로 과제를 진행해 주세요.
  • 기존 모델 학습 코드를 동일하게 활용해도 좋고, 모델을 더 잘 학습시키기 위한 아이디어가 있다면 반영해도 좋아요!

Step 1. 예시 노트북을 실행해보며 CNN 모델로 Fashion MNIST 튜닝하기

  • Fashion MNIST 데이터를 분류하기 위한 CNN 모델을 정의하고, 학습 및 평가 과정을 살펴봅시다.

Step 2. MobileNet의 Fashion MNIST 분류 문제 transfer learning 효과 분석

  • 다양한 이미지의 특성을 추출하고 카테고리를 분류할 수 있는 MobileNet의 능력을 이용하여, Fashion MNIST를 분류하는 모델을 학습시켜 봅시다.
  • MobileNet에 사전 학습된 파라미터를 불러오지 않고, 이전처럼 빈 모델로 같은 task를 튜닝했을 때 어떻게 평가 결과가 달라지는지(test acc, loss 등)를 비교해 주세요.
  • 힌트: MobileNet 모델을 torchvision으로 불러올 때, weights에 어떤 값을 지정하느냐에 따라 사전 학습된 파라미터를 불러올지 말지 선택할 수 있어요.
from torchvision.models.mobilenet import mobilenet_v2

# weights 옵션을 통해 빈 모델만 불러오거나
# 사전학습된 파라미터를 불러오는 것 중 선택 가능
model = mobilenet_v2(weights=True) # weights=False일 경우 빈 모델을 불러옴

# Fashion MNIST의 class 개수만큼 출력하도록 output layer 변형
model.classifier[1] = torch.nn.Linear(in_features=model.classifier[1].in_features, out_features=10)
model.to(device)

Metadata

Metadata

Assignees

Labels

assignment각 주차별 조별 과제 기록

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions