[부스트캠프 AI Tech] 2주차 Day 3

Mattaaa·2022년 1월 26일
0

[부스트캠프 AI Tech]

목록 보기
8/23

오늘 학습 내용


1. Load & Save Model

2. Monitoring tools for PyTorch




1. Load & Save Model

  • 모델 학습에는 많은 시간이 소요되며, 학습 중간에 Weight 등을 저장할 필요가 있다.

  • model.save() 를 사용하며, 모델의 형태를 전부 저장하거나 Parameter 만을 저장 할 수 있다.

  • model.state_dict 에 모델의 파라미터 정보가 존재한다.

import torch
  ...
  ...
# 모델의 파라미터를 Save
torch.save(model.state_dict(), os.path.join(PATH, "model.pt")

# 동일한 모델의 형태에서 파라미터만을 Load
new_model  = Model()
new_model.load_statae_dict(torch.load(os.path.join(PATH, "model.pt")))

# 모델의 구조와 파라미터를 모두 Save
torch.save(model, os.path.join(PATH, "model.pt")

# 모델의 구조와 파라미터를 모두 Load
new_model2 = torch.load(os.path.join(PATH, "model.pt")

  • 학습 중간에 결과를 저장하여 최종적으로 Best Model 을 선택

  • Metric 값들을 지속적으로 확인하며 저장하고, 일정 수치 이상 Acc 등이 개선되지 않을 때 학습 중단 → EarlyStopping

Transfer Learning

  • 다른 데이터셋으로 사전에 학습된 모델을 Pre-Trained Model 이라 한다.
  • 일반적으로 대용량 데이터셋으로 만들어진 모델이기 때문에 성능이 좋다
  • Pre-Trained Model에서 일부분을 변경하여 학습을 수행하는 것을 Transfer Learning 이라 한다.
  • Transfer Learning 진행 시 모델의 Layer의 일부분을 동결(Frozen) 시켜가면서 학습 하는 방법을 Freezing이라 한다.



2. Monitoring tools for PyTorch

TensorBoard VS Weight & Biases(WandB)

  • TensorBoard


    출처:https://www.tensorflow.org/tensorboard?hl=ko

    • TensorFlow의 프로젝트로 만들어진 Visualize 도구이다.
    • 학습 그래프, Metric, 학습 결과등의 시각화를 지원한다.
    • TF뿐이 아닌 PyTorch 의 연동도 지원한다.
    • scalar, graph, histogram, Image, mesh 등의 기능이있다.

  • Weight & Biases

    출처 : https://wandb.ai/site

    • 머신러닝 실험을 원활히 지원하기 위한 상용도구 이다. (제품)
    • 협업, Code Versioning, 실험 결과 기록등을 제공한다.
    • 근래 MLOps의 대표적인 Tool로 활용되고 있다.

0개의 댓글