시작하기
이미 TensorBoard를 사용하고 있다면 W&B와 통합할 수 있습니다. 두 라이브러리를 모두 임포트하면 스크립트에서 W&B API와 TensorFlow API를 사용할 수 있습니다.커스텀 메트릭 로깅하기
이 섹션에서는 TensorBoard가 캡처하지 않는 메트릭을 로깅하여 표준 TensorBoard 요약과 함께 추가 값을 추적하는 방법을 설명합니다. TensorBoard가 로깅하지 않는 커스텀 메트릭을 추가로 로깅해야 하는 경우 코드에서run.log()를 호출하면 됩니다(예: run.log({"custom": 0.8})).
W&B는 TensorBoard를 동기화할 때 run.log()의 step 인수를 비활성화합니다. 다른 step 카운트를 설정하려면 다음과 같이 step 메트릭과 함께 메트릭을 로깅하세요.
TensorFlow estimators 훅
이 섹션에서는 TensorFlow estimators용 W&B 훅을 설명합니다. 이 훅을 사용하면 estimator 트레이닝 중에 W&B가 캡처하는 항목을 세밀하게 제어할 수 있습니다. 로깅할 항목을 더 세밀하게 제어하고 싶다면 W&B에서 제공하는 TensorFlow estimators용 훅을 사용하세요. 이 훅은 그래프의 모든tf.summary 값을 로깅합니다.
수동으로 로깅하기
estimator를 사용하지 않거나 특정 요약을 명시적으로 로깅하려는 경우, 이 섹션에서는tf.summary 값을 W&B에 직접 전송하는 방법을 설명합니다.
TensorFlow에서 메트릭을 로깅하는 한 가지 방법은 TensorFlow 로거로 tf.summary를 로깅하는 것입니다.
tf.GradientTape를 사용하는 것이 권장됩니다. 자세한 내용은 TensorFlow 맞춤형 트레이닝 워크스루를 참조하세요. 맞춤형 TensorFlow 트레이닝 루프에 W&B를 통합하여 메트릭을 로깅하려면 다음 스니펫을 참고하세요.
W&B와 TensorBoard의 차이
W&B를 TensorBoard와 함께 사용하거나 대신 도입할지 평가 중이라면, 이 섹션에서 주요 차이점을 확인하세요. W&B는 TensorBoard 사용자가 겪는 일반적인 한계를 해결하기 위해 만들어졌습니다. W&B가 다른 점은 다음과 같습니다:- 모델 재현: W&B는 실험, 탐색 및 나중에 모델을 재현하는 기능을 지원합니다. W&B는 메트릭, 하이퍼파라미터 및 코드 버전을 캡처하며, 버전 제어 상태와 모델 체크포인트를 저장하여 프로젝트를 재현 가능하게 만듭니다.
- 자동 정리: 협업자의 프로젝트를 이어서 진행하거나, 오랜만에 돌아오거나, 이전 프로젝트를 다시 볼 때 W&B를 사용하면 시도한 모델을 확인할 수 있어 불필요하게 실험을 다시 실행하지 않아도 됩니다.
- 유연한 인테그레이션: 오픈 소스 Python 패키지를 설치하고 코드에 몇 줄만 추가하면 W&B를 프로젝트에 추가할 수 있습니다. 각 run은 로깅된 메트릭과 레코드를 생성합니다.
- 지속적이고 중앙화된 대시보드: 로컬 머신, 공유 랩 클러스터 또는 클라우드의 Spot Instances에서 모델을 트레이닝하든, W&B는 결과를 동일한 중앙화된 대시보드로 전송합니다. 여러 머신에서 TensorBoard 파일을 복사하고 정리할 필요가 없습니다.
- Tables: 여러 모델의 결과를 검색, 필터링, 정렬 및 그룹화할 수 있습니다. 모델 버전을 검토하고 다양한 작업에 가장 성능이 좋은 모델을 찾을 수 있습니다.
- 협업 도구: W&B를 사용하여 머신 러닝 프로젝트를 정리하세요. W&B 링크를 공유하거나 private 팀을 사용하여 결과를 공유 프로젝트로 보낼 수 있습니다. Reports는 대화형 시각화와 Markdown 설명을 통해 협업을 지원하므로, 작업 로그를 기록하거나 상사에게 발견 사항을 공유하거나 연구실 또는 팀에 결과를 발표하는 데 활용할 수 있습니다.
예시
이러한 인테그레이션 패턴이 전체 프로젝트에 적용된 모습을 보려면 다음 예시를 살펴보세요.- TensorFlow Estimators를 사용한 MNIST 예시.
- 순수 TensorFlow를 사용한 Fashion MNIST 예시.
- MNIST 예시의 W&B 대시보드.
- TensorFlow 2에서 트레이닝 루프 맞춤 설정하기: 아티클 및 대시보드.