모델 학습에는 많은 시간이 소요되며, 학습 중간에 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
출처:https://www.tensorflow.org/tensorboard?hl=ko
- TensorFlow의 프로젝트로 만들어진 Visualize 도구이다.
- 학습 그래프, Metric, 학습 결과등의 시각화를 지원한다.
- TF뿐이 아닌 PyTorch 의 연동도 지원한다.
- scalar, graph, histogram, Image, mesh 등의 기능이있다.
- 머신러닝 실험을 원활히 지원하기 위한 상용도구 이다. (제품)
- 협업, Code Versioning, 실험 결과 기록등을 제공한다.
- 근래 MLOps의 대표적인 Tool로 활용되고 있다.