728x90
1. 대표적인 모니터링 툴
- Tensorboard
- weight & biases (wandb)
2. Tensorboard
- Tensorflow의 프로젝트로 만들어진 시각화 도구
- 학습 그래프, metric, 학습 결과의 시각화 지원
- PyTorch도 연결 가능 -> DL 시각화 핵심 도구
- scalar : metric 등 상수 값의 연속 표시(acc, loss, pre, re 등을 epoch 단위로)
- graph : 모델의 computational graph 표시
- histogram : weight 등 값의 분포(주로 정규분포로)를 표현
- Image : 예측값과 실제 값을 비교 표시
- mesh : 3d 형태의 데이터를 표현하는 도구
import torch
from torch.utils.tensorboard import SummaryWriter
# 기록 생성 객체 SummaryWriter 생성
writer = SummaryWriter(dir) # dir라는 위치 지정
'''
<스칼라(scalar) 기록하기>
- 스칼라는 각 학습 단계(step)에서의 손실 값이나 각 에폭 이후의 정확도를 저장하는 데 도움
- 스칼라 값을 기록하려면 add_scalar(tag, scalar_value, global_step=None, walltime=None) 을 사용해야
- add_scalar : 손실 값을 기록. add하는 데이터 타입이 scalar(상수)라는 뜻.
'''
x = torch.arange(-5, 5, 0.1).view(-1, 1)
y = -5 * x + 0.1 * torch.randn(x.size())
model = torch.nn.Linear(1, 1)
criterion = torch.nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr = 0.1)
def train_model(iter):
for epoch in range(iter):
y1 = model(x)
loss = criterion(y1, y)
writer.add_scalar("Loss/train", loss, epoch) # epoch : x축의 값
optimizer.zero_grad()
loss.backward()
optimizer.step()
train_model(10)
writer.flush() # 값 기록(disk에 쓰기)
# 파일 위치 지정
%load_ext tensorboard
%tensorboard--logdir{logs_base_dir} #logs_base_dir라는 이름의 위치를 파일 위치로 지정
3. weight & biases
- 유료지만, 기본 버전은 무료
- 머신러닝 실험을 원활하도록 돕는 상용 서비스
- 협업, code versioning, 실험 결과 기록 등 제공 -> 공유 기능 가장 좋은 툴/data, code, model 나눠서 git처럼 쓸 수 있음
- MLOps의 대표적인 툴 중 하나
728x90
'AI > AITech 3기' 카테고리의 다른 글
[PyTorch] 9강 Hyperparameter Tuning (2) | 2022.01.27 |
---|---|
[PyTorch] 8강 Multi-GPU 학습 (1) | 2022.01.27 |
[PyTorch] 6강 모델 불러오기 (2) | 2022.01.27 |
[PyTorch] super().__init__() 과 super(MyClass, self).__init__() 차이 (2) | 2022.01.25 |
[PyTorch] 5강 Datasets & dataloaders (2) | 2022.01.25 |