고급 TensorBoard 기능: 그래프 대시보드
TensorBoard로 머신 러닝 워크플로의 계산 그래프를 탐색하는 방법 소개 이 글은 AI가 번역한 기사입니다. 오역이 있을 수 있으니 댓글로 알려 주세요.
Created on September 12|Last edited on September 12
Comment
소개
TensorBoard는 머신 러닝 워크플로에서 필요한 측정값과 시각화를 제공하는 도구입니다. 이 도구를 사용하면 실험 지표를 추적하고, 계산 그래프를 시각화하며, 코드를 디버그하고, 모델의 성능을 프로파일링하는 등 다양한 작업을 깔끔한 웹 인터페이스를 통해 수행할 수 있습니다.
이 글에서는 TensorBoard의 고급 기능(예: 계산 그래프 탐색과 디버깅)을 W&B와 함께 활용하여 머신 러닝 워크플로에서 효과적으로 사용하는 방법을 살펴보겠습니다.
W&B와 함께 TensorBoard 사용하기
먼저 호환성에 대한 안내입니다:
- Weights & Biases는 TensorBoard와의 패칭을 지원하여 머신 러닝 워크플로의 모든 지표를 자동으로 로그로 기록할 수 있도록 합니다 풍부하고 인터랙티브한 대시보드.
- W&B는 모든 버전의 TensorFlow에서 TensorBoard 로그를 자동으로 수집하는 기능도 지원합니다.
- PyTorch를 사용하는 머신 러닝 워크플로의 경우, Weights & Biases 대시보드에서의 TensorBoard 로깅은 다음을 통해 지원됩니다 TensorBoardX 그리고 TensorBoard 1.14보다 최신 버전.
이제 W&B에서 TensorBoard 자동 로깅을 활성화하려면, 필요한 것은 다음 설정뿐입니다 sync_tensorboard 다음 매개변수로 True W&B 작업을 초기화하는 동안
import wandb# Just start a W&B run, passing `sync_tensorboard=True)`, to plot your Tensorboard fileswandb.init(project='my-project', sync_tensorboard=True)# Your Keras, Tensorflow or PyTorch training code using TensorBoard...# If running in a notebook, finish the wandb run to upload the tensorboard logs to W&Bwandb.finish()
TensorBoard로 연산 그래프 탐색하기
머신러닝 워크플로를 TensorFlow로 작성하고 있다면, 그래프 대시보드 TensorBoard의 그래프 대시보드는 모델뿐 아니라 전체 워크플로를 연산 그래프로 살펴보는 데 매우 강력한 도구입니다. 함께 자세히 알아보겠습니다:
모델 아키텍처 탐색
TensorBoard 그래프 대시보드는 다음을 빠르게 확인할 수 있게 해줍니다 개념 그래프 모델 아키텍처를 전체적으로 파악하고 의도한 설계와 일치하는지 확인할 수 있습니다. 표준 TensorFlow 워크플로의 경우, 이는 Keras 모델의 개념적 보기일 뿐입니다. 태그를 다음에서 변경하기만 하면 이 보기를 확인할 수 있습니다. "기본" 에서 로 "keras" TensorBoard 인터페이스에서

PyTorch 모델도 개념 보기로 시각화할 수 있습니다.

연산 수준 그래프 탐색
TensorBoard는 연산 수준 그래프 형태로 전체 실행 워크플로(모델 포함)의 구조를 분해하여, 모든 연산의 세부 내용을 확인할 수 있게 해줍니다.
사실상 워크플로가 인터랙티브한 인터페이스 형태로 제시된다는 뜻입니다. 연산 수준 그래프(op-level graph)를 사용하면 추상화 레이어를 하나씩 “벗겨” 최하위 연산까지 시각화할 수 있으며, 이를 통해 워크플로의 각 구성 요소 설계와 최적화에 관한 중요한 인사이트를 얻을 수 있습니다. 예시는 다음과 같습니다:

op 수준 그래프로 Keras 시퀀셜 모델의 추상화를 “벗겨” 보며, 개별 Keras 레이어를 구성하는 연산 내부를 들여다보기
그래프가 위아래가 뒤집혀 있어 데이터가 아래에서 위로 흐른다는 점에 유의하세요. 따라서 코드와 비교하면 상하가 반대로 보입니다.
💡
사용자 정의 TensorFlow 연산 시각화
지금까지 Keras와 PyTorch로 작성한 모델을 TensorBoard의 Graph 대시보드에서 시각화하는 방법을 살펴봤습니다. 하지만 사용자 정의 Python 연산 집합을 사용해야 하는 상황에서도 이 도구를 활용할 수 있습니다. TensorFlow를 사용한다고 가정하면, 이런 경우에는 다음을 수행하고자 할 것입니다. "오토그래프" 사용자 정의 연산 tf.function이런 경우에는, 우리는 TensorFlow Summary Trace API TensorBoard Graph 대시보드에서 시각화할 수 있도록 오토그래프로 변환된 함수들을 로그로 기록합니다.
다음 코드 스니펫에 정의된 함수를 TensorBoard에서 시각화해 보겠습니다.
# The function to be traced.@tf.functiondef sample_function(x, y):# A simple hand-rolled layer.return tf.nn.relu(tf.matmul(x, y))# Prepare our loggerstamp = datetime.now().strftime("%Y%m%d-%H%M%S")logdir = 'logs/func/%s' % stampwriter = tf.summary.create_file_writer(logdir)# Sample data for the function.x = tf.random.uniform((3, 3))y = tf.random.uniform((3, 3))# Bracket the function call with tf.summary.trace_on() and tf.summary.trace_export().tf.summary.trace_on(graph=True, profiler=True)# Call only one tf.function when tracing.z = sample_function(x, y)with writer.as_default():tf.summary.trace_export(name="sample_function_trace", step=0, profiler_outdir=logdir)

앞서 언급한 오토그래프된 함수를 TensorBoard로 시각화하기
TPU 호환성 점검
Graph 대시보드에는 TPU에서 모델을 실행할 때 잠재적으로 문제를 일으킬 수 있는 연산을 검사하고 표시하는 호환성 검사 모듈이 포함되어 있습니다. 모델의 TPU 호환성 그래프를 보려면 다음을 선택하기만 하면 됩니다. TPU 호환성 옵션 Graph 대시보드에서
아래 그래프에서는 호환되는(유효) 연산을 초록색으로, 호환되지 않는(무효) 연산을 빨간색으로 표시합니다. 그래프 오른쪽에 표시되는 호환성 요약 패널에는 전체 Cloud TPU 호환 연산의 비율, 해당 연산의 속성, 그리고 선택한 노드에 대한 비호환 연산 목록이 나타납니다.

TPU 호환성 기준으로 본 TensorFlow 워크플로의 연산 수준 그래프
참고: 호환성 검사기는 다음을 사용해 명시적으로 TPU가 아닌 디바이스에 할당된 연산은 평가하지 않습니다. 수동 디바이스 배치또한 이 검사기는 실제로 모델을 실행용으로 컴파일하지 않으므로, 결과는 호환성에 대한 추정치로 해석해야 합니다.
💡
결론
이 보고서에서 우리는 다음을 배웠습니다.
- Weights & Biases와 함께 TensorBoard 사용하기
- TensorBoard Graph Dashboard로 TensorFlow와 PyTorch의 모델 아키텍처 탐색하기
- TensorBoard Graph Dashboard로 연산 수준 그래프 탐색하기
- TensorBoard Graph Dashboard로 사용자 정의 TensorFlow 연산 시각화하기
- TensorBoard Graph Dashboard로 코드베이스의 TPU 호환성 검사하기
유사한 보고서
Visualize Models in TensorBoard With Weights & Biases
This article demonstrates how to visualize models in TensorBoard using Weights & Biases and gives an example using a FashionMNIST dataset.
Tensorboard With Accelerators: A Guide
In this article, we explore how to effortlessly integrate Weights & Biases into pre-existing accelerator-based workflows (both GPU and TPU) using TensorBoard.
Advanced Tensorboard Features: Tensorflow Debugger
An introduction to Machine Learning workflows written in Tensorflow using the Tensorboard Debugger
Add a comment