꺼내먹는지식 준
Tensorboard, Weight & Biases 간단 사용 본문
학습이 잘 되는지 않되는지를 관찰할 수 있는 좋은 Monitoring Tool이 있다.
Loss 값의 변화, Accuracy의 변화 등을 관찰 할 수 있다.
학습은 오랜 시간이 걸리기 때문에 관측이 필수이다.
보통 Tensorboard, Weight & Biases 를 사용한다.
Tensorboard
TensorFlow의 프로젝트로 만들어진 시각화 도구
학습 그래프, metric, 학습 결과의 시각화 지원
Pytorch도 연결이 가능해서 DL 시각화의 기본 핵심 기능이다.
1) scalar : metric 등 상수 값의 연속(epoch)을 표시
2) graph : 모델의 computational graph 표시
3) hisogram: weight 등 값의 분포를 표현 (보통 정규분포가 나오기를 기대한다.)
4) image: 예측 값과 실제 값을 비교 표시
5) mesh: 3d 형태의 데이터를 표현하는 도구
보통 디렉토리 명을 "실험 프로젝트명/실험의 이름" 으로 적는다.
%tensorboard --logdir{logs_base_dir}
6006 port 에 자동 생성
폴더 명을 돌릴 때 마다 다르게 저장 하고 나면, 다음과 같이 tensorboard에 반영되어서, 각 실험을 비교해보며 볼 수 있다.
한 그래프에 여러 정보를 밀어 넣는 방법도 있다.
for i in range(100):
writer.add_scalars('run_14h'), {'xsinx': i*np.sin(i/r), 'xcosx': i*np.cos(i/r), 'tanx': 'np.tan(i/r)'}
histogram
for i in range(10):
x.np.random.radom(100)
writer.add_histogram('distribution centers', x+i, i)
img_batch = np.zeros((16, 3, 100, 100))
for i in range(16):
img_batch[i, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 / 16 * i
img_batch[i, 1] = (1 - np.arange(0, 10000).reshape(100, 100) / 10000) / 16 * i
writer = SummaryWriter(logs_base_dir)
writer.add_images('my_image_batch', img_batch, 0)
writer.close()
Hyper parameter 값을 같이 기록해주자
Weight & Biases
머신러닝 실험을 원할히 지원하기 위한 상용도구
협업, code versioning, 실험 결과 기록 등 제공
MLOps의 대표적인 툴로 저변 확대 중
config 를 project template에 넣어놓으면 관리가 편하다.
TensorBoard 에서 제공하는 기능들을 거의다 동일하게 제공을 해준다.
프로젝트 형태로 저장되어 공유도 가능하고, 접근이 편하다는 점에서 좋지만, 유료다.
'AI > PyTorch' 카테고리의 다른 글
Pytorchlightning TensorBoard 사용법 쉬운 정리 (0) | 2022.03.05 |
---|---|
sklearn StratifiedKFold 용례 (0) | 2022.03.05 |
Transfer Learning 듀토리얼 - (1) 모델 저장, checkpoint, 불러오기 (0) | 2022.01.26 |
Pytorch nn.Module 총정리 / 모델 만드는 법 (0) | 2022.01.25 |
Torch Math Operations (0) | 2022.01.25 |