참고 동영상 : https://youtu.be/eDKxY5Z5dVQ
▶ 지금까지 우리는 아래와 같이 Hypothesis값과 predicted로 정확도의 값, 그리고 Accuracy의 값을 단순히 print 형식을 사용해서 숫자로 확인하였다. 하지만 네트워크가 커지고 수행시간이 길어지면 보기 힘들어질 것이다. TensorBoard를 사용하면 이것을 시각화해서 한번에 볼 수 이다.
▶TensorBord를 사용하기위한 5단계
1. 그래프에서 어떤것을 출력하고 싶은지.
- with tf.name_scope("test") as scope : 에서 "test"는 노드의 이름
- tf.histogram_summary("weight",W),tf.scalar_summary("accuracy",accuracy) : scalar는 백터가 아닌 값들을 말한다. 즉, Hypothesis, predicted, Accuracy 갑들이라고 볼수있고, (레이블이름,변수이름)으로 선언해준다. histogram은
그 나머지 값들을 이용할 때 사용한다.
2. merard : 실행시키고 싶은 것들을 모아준다.
3. writer : 쓰고싶은 위치를 지정해준다.
위에서는 "/tmp/minist_logs"라는 디렉토리 위치를 지정해주었다.
4. summary : 세션 실행
5. cmd창에서 tensorboard --logdir= 선정한 디렉토리 path
▶예제
위에서 우리가 사용하는 변수에 naem=변수이름 이렇게 정해주어야한다.
-그리고 위에 처럼 변수들을 Grouping을 할 필요가 있다. 위의 사진은 layer1만 관계된것, cost만 관계된것, train만 관계된것등을 구분해서 Grouping을 해주었다.
-summary : 변수에 성격에 맞춰 각각 histogram과 scalar로 묶어주면된다.
- merged_summary : 그동안 실행시키기위해 선언했던 것들을 모아준다.
- writer : 디렉토리 위치를 선정해준다.
- summary값을 writer에 넣어준다. 단, 학습은 매번하지만 조건문을 주어서 정해진 순간만 기록하게한다.
▶결과
-graph
graph탭에 들어가면 나타나는 그림이다.
이렇게 나타난 이유는 텐서플로우는 모든 연산을 그래프화해서 처리해서 그렇다. 그렇기에 자동적으로 backpropagation을 할 수 있는 것이다.
-add history
histogram에 대한 값들이 그래프로 나타난 것들을 볼 수 있다.
-scalar
가장 관심있는 값이 이 scalar로 지정된 값들일것이다. 위에 그림을 보면 cost는 점점 줄어들과 accuracy는 위로 증가하는 가장 이상적인 형태들을 시각적으로 볼 수 있을 것이다.
※ 더 자세한 코드는 위에 첨부된 동영상을 통해 확인할 수 있다.
'PROJECT' 카테고리의 다른 글
[딥러닝 + TensorFlow] ReLU와 RBM (0) | 2020.03.05 |
---|---|
[딥러닝 + TensorFlow] XOR문제 딥러닝으로 풀기 (0) | 2020.03.03 |
[딥러닝+TensorFlow] Tensor Manipulation (0) | 2020.02.27 |
[딥러닝 + TensorFlow] 딥러닝의 기본 개념 (0) | 2020.02.27 |
[딥러닝 + TensorFlow] logistic_regression (0) | 2020.02.20 |