Tensorboard
- TensorFlow의 프로젝트로 만들어진 시각화 도구
- 학습 그래프, metric, 학습 결과의 시각화 지원
- PyTorch도 연결 가능 → DL 시각화 핵심 도구
- Parameters
- scalar : metric 등 상수 값의 연속(epoch)을 표시
- graph : 모델의 computational graph 표시
- histogram : weight 등 값의 분포를 표현
- Image : 예측 값과 실제 값을 비교 표시
- mesh : 3d 형태의 데이터를 표현하는 도구
코드 작업
import os
import numpy as np
from torch.utils.tensorboard import SummaryWriter
logs_base_dir = "logs"
os.makedirs(logs_base_dir, exist_ok=True) # log 저장 디렉토리 생성
writer = SummaryWriter(logs_base_dir) # 기록 생성 개체 생성
# epoch 도는 경우 조건문 사용해서 5 step 마다 저장하는 식으로 가능
for n_iter in range(100):
writer.add_scalar('Loss/train', np.random.random(), n_iter) # y축, x축 값 (y : loss, x : epoch or step)
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)
writer.flush() # 값 디스크에 쓰기
# jupyter 상에서 tensorboard 생성
%load_ext tensorboard
%tensorboard --logdir {logs_base_dir}
터미널에서 Tensorboard 실행
- pip install tensorboardX
- pip install tensorflow-gpu==version
- tensorboard --logdir=directory_to_log_file --port=8008 (두 개 이상 학습 할 때 별도 포트설정 기본포트 : 6006)
- 실행 후 생성되는 주소로 실행 가능
학습을 끊었다가 다시 하는경우
- 메인 코드에서 summary = SummaryWriter(dir_to_log_file)에서 dir_to_log_file의 주소를 이전 log가 존재하던위치로 설정해주면 알아서 이어서 그래프를 plot
- 하지만 x축으로 이용되는 변수(iteration)가 다시 1부터 시작하게 될 경우 그래프가 덧씌어져 의미 없게 되므로 이에대한 대처코드가 training code에 존재해야 한다.
'부스트캠프 AI Tech > Pytorch' 카테고리의 다른 글
[15] Multi-GPU 학습 (0) | 2022.01.24 |
---|---|
[14] monitoring tool - wandb (0) | 2022.01.24 |
[12] 전이학습 tansfer learning (0) | 2022.01.24 |
[11] image transform (1) | 2022.01.23 |
[10] Dataloader 의 기본요소 (0) | 2022.01.22 |