Path: blob/master/site/ko/tensorboard/get_started.ipynb
25115 views
Copyright 2019 The TensorFlow Authors.
TensorBoard 시작하기
머신러닝에서 무언가를 개선하려면 측정할 수 있어야 합니다. TensorBoard는 머신러닝 워크플로 중에 필요한 측정 및 시각화를 제공하는 도구입니다. 손실 및 정확성과 같은 실험 메트릭을 추적하고, 모델 그래프를 시각화하고, 임베딩을 더 낮은 차원의 공간에 투영하는 등의 작업을 수행할 수 있습니다.
이 빠른 시작에서는 TensorBoard를 빠르게 시작하는 방법을 안내합니다. 이 웹 사이트의 나머지 가이드에서는 여기서 다루지 않은 특정 기능에 대한 자세한 정보를 제공합니다.
MNIST 데이터세트를 예로 사용하여 데이터를 정규화하고 이미지를 10개의 클래스로 분류하기 위한 간단한 Keras 모델을 생성하는 함수를 작성합니다.
Keras Model.fit()과 함께 TensorBoard 사용하기
Keras의 Model.fit()으로 훈련하면서 tf.keras.callbacks.TensorBoard
콜백을 추가하면 로그를 생성하고 보관할 수 있습니다. 또한, histogram_freq=1
(기본적으로 해제되어 있음)을 이용해 epoch마다 히스토그램 계산을 사용합니다.
여러 훈련 실행을 쉽게 선택할 수 있도록 로그를 타임스탬프가 있는 하위 디렉토리에 배치합니다.
명령줄 또는 노트북 환경 내에서 TensorBoard를 시작합니다. 두 인터페이스는 대체로 동일합니다. 노트북에서는 %tensorboard
라인 매직을 사용합니다. 명령줄에서는 "%" 없이 동일한 명령을 실행합니다.
이 예제에서 생성한 시각화 및 해당 시각화를 찾을 수 있는 대시보드(상단 탐색 모음에 있는 탭)에 대한 간략한 개요입니다.
스칼라는 각 에포크마다 손실과 메트릭이 어떻게 변화하는지 보여줍니다. 이를 사용하여 훈련 속도, 학습률 및 기타 스칼라 값을 추적할 수도 있습니다. 스칼라는 시계열 또는 스칼라 대시보드에서 확인할 수 있습니다.
그래는 모델을 시각화하는 데 도움이 됩니다. 이 경우 레이어의 Keras 그래프가 표시되어 올바르게 빌드되었는지 확인할 수 있습니다. 그래프 대시보드에서 그래프를 확인할 수 있습니다.
히스토그램 및 분포는 시간 변화에 따른 텐서의 분포를 보여줍니다. 이는 가중치와 편향을 시각화하고 예상대로 변화하고 있는지 확인하는 데 유용할 수 있습니다. 히스토그램은 시계열 또는 히스토그램 대시보드에서 확인할 수 있습니다. 분포는 분포 대시보드에서 확인할 수 있습니다.
다른 유형의 데이터를 로깅하면 추가 TensorBoard 대시보드가 자동으로 활성화됩니다. 예를 들어 Keras TensorBoard 콜백을 사용하면 이미지와 임베딩도 로깅할 수 있습니다. 오른쪽 상단의 "비활성" 드롭다운을 클릭하면 TensorBoard에서 사용할 수 있는 다른 대시보드를 확인할 수 있습니다.
기타 메서드로 TensorBoard 사용하기
tf.GradientTape()
와 같은 메서드로 훈련할 때는 tf.summary
를 사용하여 필요한 정보를 로깅합니다.
위와 동일한 데이터세트를 사용하지만, tf.data.Dataset
로 변환하여 배치 처리 기능을 활용합니다.
훈련 코드는 고급 빠른 시작 가이드를 따르지만 측정 항목을 TensorBoard에 로깅하는 방법을 보여줍니다. 다음과 같이 손실 및 옵티마이저를 선택합니다.
훈련 중에 값을 축적하는 데 사용할 수 있고 언제든지 기록할 수 있는 상태 저장 메트릭을 만듭니다.
훈련 및 테스트 함수를 정의합니다.
요약 작성기를 설정하여 디스크의 다른 로그 디렉토리에 요약을 작성합니다.
훈련을 시작합니다. tf.summary.scalar()
를 사용하여 디스크에 요약을 작성하는 요약 작성기의 범위 내에서 훈련/테스트 중에 메트릭(손실 및 정확성)을 로깅합니다. 로깅할 메트릭과 그 빈도를 조정할 수 있습니다. 다른 유형의 데이터 로깅에는 다른 tf.summary
함수를 사용할 수 있습니다.
TensorBoard를 다시 열고, 이번에는 새 로그 디렉토리를 가리킵니다. 훈련이 진행되는 동안 모니터링하기 위해 TensorBoard를 시작할 수도 있습니다.
여기까지입니다! 이제 Keras 콜백과 tf.summary
를 통해 TensorBoard를 사용하는 방법을 살펴보았고, 더 많은 사용자 정의 시나리오에서 활용해 보기를 바랍니다.
TensorBoard.dev: ML 실험 결과 호스팅 및 공유하기
TensorBoard.dev는 자신의 TensorBoard 로그를 업로드하고 학술 논문, 블로그 게시물, 소셜 미디어 등에서 모든 사람과 공유할 수 있는 영구 링크를 얻을 수 있는 무료 공용 서비스입니다. 이를 통해 재현성과 협력 수준을 개선할 수 있습니다.
TensorBoard.dev를 사용하려면 다음 명령을 실행하세요.
이 호출은 colab 매직을 호출하기 위한 퍼센트 접두어(%
) 대신 셸을 호출하기 위한 느낌표 접두어(!
)를 사용합니다. 명령줄에서 이 명령을 호출할 때는 접두어가 필요하지 않습니다.
여기에서 예를 살펴보세요.
TensorBoard.dev 사용 방법에 대한 자세한 내용은 https://tensorboard.dev/#get-started를 참조하세요.