[Pytorch] Monitoring tools for Pytorch

hyunsooo·2022년 9월 28일
0

딥러닝은 보통 긴 학습 시간을 요구하기 때문에 기록을 필수로 해야 한다.
이번시간에는 기록을 할 수 있는 좋은 도구들을 알아본다.

Tensorboard

  • 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()
  • 다양한 기능이 있으며 전부 설명하는것 보다 필요한 기능을 찾아서 사용하자.

weight & biases

  • 머신러닝 실험을 원하맇 지원하기 위한 상용도구

  • 협업, code versioning, 실험 결과 기록 등 제공

  • MLOps의 대표적인 풀로 확대 중

  • 코드 공유나 협업에는 효율적이나 상용도구이기 때문에 금전적인 부분이 단점이 될 수 있다.

profile
지식 공유

0개의 댓글