딥러닝은 보통 긴 학습 시간을 요구하기 때문에 기록을 필수로 해야 한다.
이번시간에는 기록을 할 수 있는 좋은 도구들을 알아본다.
TensorFlow의 프로젝트로 만들어진 시각화 도구
학습 그래프, metric, 학습 결과의 시각화 지원
PyTorch도 연결 가능하며 DL시각화의 핵심 도구이다.
scalar : metric 등 상수 값의 연속(epoch)을 표시
graph : 모델의 computational graph표시
histogram : weight 등 값의 분포를 표현
image : 예측 값과 실제 값을 비교 표시
mesh : 3d 형태의 데이터를 표현하는 도구
import os
logs_base_dir = "logs"
os.makedirs(logs_base_dir, exist_ok=True)
from torch.utils.tensorboard import SummaryWriter
import numpy as np
writer = SummaryWriter(logs_base_dir)
for n_iter inn range(100):
# add_scalar : scalar기록 , Loss/train: loss category에 train값, n_iter: x축
writer.add_scalar("Loss/train", np.random.random(), n_iter)
writer.add_scalar("Loss/test", np.random.random(), n_iter)
writer.add_scalar("Accuracy/train", np.random.random(), n_iter)
writer.add_scalar("Accuracy/test", np.random.random(), n_iter)
# 값 기록(disk에 쓰기)
writer.flush()
머신러닝 실험을 원하맇 지원하기 위한 상용도구
협업, code versioning, 실험 결과 기록 등 제공
MLOps의 대표적인 풀로 확대 중
코드 공유나 협업에는 효율적이나 상용도구이기 때문에 금전적인 부분이 단점이 될 수 있다.