티스토리 뷰

머신러닝

tensorboard를 알아보자

sh9404 2020. 3. 20. 18:09

여태 모델을 학습시키고 학습 정도나 정확도등을 확인해볼 때, 조금 원시적인(?) 방법이라 할 수 있는 print로 출력해 왔었습니다. 이렇게 확인 해도 되겠지만, 더 좋은 그리고 더 쉽게 시각화하여 정보를 볼 수 있는 방법이 있습니다. 바로 텐서보드 인데요.

기존에 비용 함수를 프린트해가며 줄어드는 것을 확인했다면, 텐서보드를 이용해 아래와 같이 시각화 해서 확인해 볼 수 있습니다.

 

텐서보드를 사용하기 위해서는 시각화를 하고 싶은 변수에 대한 요약 정보를 저장하는 코드를 추가해줘야 합니다. 

1. 로그를 확인하고 싶은 변수에 대한 요약정보를 저장하기 위한 코드

w2_hist = tf.summary.histogram("이름", 변수)  # 히스토그램

cost_summ = tf.summary.scalar("이름", 변수) # 스칼라

참고로 히스토그램과 스칼라는 다음과 같이 표현됩니다.

히스토그램

 

스칼라

 

2. 요약 정보를 합치기

summary = tf.summary.merge_all()

 

3. 지정 경로에 요약정보 파일 형태로 저장하기

writer = tf.summary.FileWriter('./tensorboard_log', sess.graph)

 

4. 세션 실행 후 writer에 추가

s, _ = sess.run([summary, optimizer], feed_dict=feed_dict)

writer.add_summary(s, global_step=global_step)

 

5. 텐서보드 실행하여 결과 확인

터미널 혹은 커맨드창에서 tensorboard --logdir=./tensorboard_log 입력,

그럼

이런 문구를 볼 수 있습니다. 저 http:// ~ 주소를 복사해서 웹에서 열어보면 텐서보드를 확인할 수 있습니다 

ㅎㅎ 

만약 텐서보드를 실행하는데 있어서 오류가 발생한다면, 텐서플로우 재설치 해보시고

feed_dict 에서 오류가 나시는 분들은 tf.reset_default_graph() 를 코드 상단에 추가해주세요.

 

하단의 이미지는 앞서 배운 ANN을 이용한 MNIST이미지 분류에서 텐서보드를 확인하기 위한 코드를 추가한 코드 입니다. 

 

텐서보드에 들어가 확인해 보면 텐서플로우 그래프를 확인할 수 있고, 코스트 그래프 또한 확인 할 수 있습니다. 

댓글
링크
최근에 올라온 글
최근에 달린 댓글