Skip to main content
W&B Multi-tenant Cloud에서는 임베디드 TensorBoard를 지원합니다.
이 페이지에서는 TensorBoard 로그를 W&B와 동기화하여 TensorBoard 로그를 클라우드에 업로드하고, 동료 및 반 친구들과 결과를 공유하며, 분석을 한곳에 모아 관리하는 방법을 설명합니다. 이미 TensorBoard에 로그를 기록하고 있고 클라우드 호스팅 시각화, 공유, 그리고 W&B 시스템 메트릭과의 나란히 비교가 필요하다면 이 인테그레이션을 사용하세요.
TensorBoard 인테그레이션 코드

시작하기

TensorBoard 동기화를 활성화하려면 W&B run을 초기화할 때 sync_tensorboard=True를 설정하세요. W&B는 트레이닝 코드에서 생성되는 모든 TensorBoard 이벤트를 자동으로 업로드합니다.
예제 TensorBoard 인테그레이션 run을 살펴보세요. run이 완료되면 W&B에서 TensorBoard 이벤트 파일에 액세스할 수 있으며 W&B 기본 차트에서 메트릭을 시각화할 수 있습니다. 또한 W&B는 시스템의 CPU 또는 GPU 사용량, git 상태, run에 사용된 터미널 명령 등 추가 정보도 캡처합니다.
W&B는 모든 버전의 TensorFlow에서 TensorBoard를 지원합니다. 또한 PyTorch 및 TensorBoardX와 함께 TensorBoard 1.14 이상도 지원합니다.

자주 묻는 질문

다음 섹션에서는 추가 메트릭 로깅, 패치 구성, 과거 Runs 동기화, 노트북 환경 사용 등 TensorBoard 인테그레이션을 맞춤형으로 설정할 때 자주 묻는 질문에 답합니다.

TensorBoard에 로깅되지 않는 메트릭을 W&B에 어떻게 로깅하나요?

TensorBoard에 로깅되지 않는 추가 커스텀 메트릭을 로깅해야 한다면, 코드에서 wandb.Run.log()를 호출하면 됩니다: run.log({"custom": 0.8}). TensorBoard를 동기화할 때는 run.log()에서 step 인자를 설정하는 기능이 비활성화됩니다. 다른 step 값을 설정하려면 다음과 같이 step 메트릭과 함께 메트릭을 로깅할 수 있습니다. run.log({"custom": 0.8, "global_step": global_step})

wandb와 함께 사용할 때 TensorBoard를 어떻게 설정하나요?

W&B의 TensorBoard 패치 방식을 더 세밀하게 제어하려면 wandb.init()sync_tensorboard=True를 전달하는 대신 wandb.tensorboard.patch()를 호출하세요.
기본 TensorBoard를 패치하려면 이 방법에 tensorboard_x=False를 전달하세요. PyTorch와 함께 TensorBoard 1.14보다 높은 버전을 사용하는 경우에는 pytorch=True를 전달해 패치되도록 할 수 있습니다. 두 옵션 모두 임포트된 라이브러리 버전에 따라 적절한 기본값이 자동으로 적용됩니다. 기본적으로 W&B는 tfevents 파일과 모든 .pbtxt 파일도 동기화합니다. 이를 통해 W&B가 사용자를 대신해 TensorBoard 인스턴스를 실행할 수 있습니다. run 페이지에 TensorBoard 탭이 표시됩니다. 이 동작은 wandb.tensorboard.patchsave=False를 전달해 비활성화할 수 있습니다.
tf.summary.create_file_writer()를 호출하거나 torch.utils.tensorboard에서 SummaryWriter를 생성하기 전에 반드시 wandb.init() 또는 wandb.tensorboard.patch() 중 하나를 호출해야 합니다.

과거 TensorBoard run은 어떻게 동기화하나요?

로컬에 저장된 기존 tfevents 파일이 있고 이를 W&B로 임포트하려면 wandb sync log_dir를 실행하면 됩니다. 여기서 log_dirtfevents 파일이 들어 있는 로컬 디렉터리입니다.

Google Colab 또는 Jupyter에서 TensorBoard를 어떻게 사용하나요?

Jupyter 또는 Colab 노트북에서 코드를 실행하는 경우, 트레이닝이 끝날 때 wandb.Run.finish()를 반드시 호출하세요. 그러면 wandb run이 종료되고 TensorBoard 로그가 W&B에 업로드되어 시각화할 수 있습니다. 반면 .py 스크립트를 실행할 때는 스크립트가 끝나면 wandb가 자동으로 종료되므로 이 작업은 필요하지 않습니다. 노트북 환경에서 셸 명령어를 실행하려면 !wandb sync directoryname처럼 앞에 !를 붙여야 합니다.

TensorBoard와 함께 PyTorch를 사용하려면 어떻게 해야 하나요?

PyTorch의 TensorBoard 인테그레이션을 사용하는 경우, PyTorch Profiler JSON 파일을 수동으로 업로드해야 할 수 있습니다.

클라우드에 저장된 tfevents 파일을 동기화할 수 있나요?

wandb 0.20.0 이상에서는 S3, GCS 또는 Azure에 저장된 tfevents 파일의 동기화를 지원합니다. wandb는 각 클라우드 제공업체의 기본 자격 증명을 사용합니다. 아래 표에는 각 공급자의 자격 증명을 설정하는 명령과 예상되는 로깅 디렉터리 형식이 나와 있습니다.

Footnotes

  1. AZURE_STORAGE_ACCOUNTAZURE_STORAGE_KEY 환경 변수도 설정해야 합니다.