[PyTorch] 모델 불러오기, 모니터링 도구들
모델 불러오기
학습 결과를 공유하고 싶은데 어떻게 하면 될까? -> 저장하면됨
model.save()
- 모델 형태와 파라미터 둘중 하나를 저장하는 방법이 있다.
- 학습 결과를 저장
- 학습 중간과정에 저장하여 최선의 결과 모델을 선택한다.
- 모델 공유를 위해 사용.
checkpoints
- earlystopping 기법 사용시 이전 학습 결과를 저장.
- 학습 중간 결과를 저장.
- loss와 metric값을 지속적으로 확인 가능하다.
- 일반적으로 epoch, loss, metric을 함께 저장하여 확인한다.
Transfer Learning
- 다른 데이터셋으로 만든 모델을 현재 데이터에 적용
- 일반적으로 대용량 데이터셋으로 만들어진 모델의 성능이 높기 때문
- 현재 DL에서 쓰는 가장 일반적인 학습 기법
- backbone architecture가 잘 학습된 모델에서 일부만 변경하여 학습 수행.
Freezing
- pretrained model을 활용시 모델의 일부분을 frozen 시키고 다른 부분만 이용하여 성능을 향상 시키는 방법.
모니터링 도구들
학습시간이 길다. 참고 기다렸는데 결과가 안좋다. 힘들다.
모니터링 도구들을 사용하여 학습 결과를 한눈에 파악 할 수 있습니다. 대표적으로 Tensorboard와 WandB가 있습니다.
Tensorboard
- tensorflow의 프로젝트로 만든 시각화 도구
- 학습그래프, metric, 학습결과를 시각화
- pytorch도 사용가능하며 -> DL 시각화의 핵심
다음과 같은 시각화를 가능하다.
- scalar : metric 등 상수 값의 연속(epoch)을 표시
- graph : 모델의 computational graph 표시
- histogram : weight 등 값의 분포를 표현
- Image : 예측 값과 실제 값을 비교 표시
- mesh : 3d 형태의 데이터를 표현하는 도구
weight & biases(wandb)
유료지만 기본적인 기능은 무료로 가능하다.
- 머신러닝 실험을 원활히 지원하기 위한 상용도구
- 협업, code versioning, 실험 결과 기록 등 제공
- MLOps의 대표적인 툴로 저변 확대 중
Comments