[모두의 딥러닝] lab 09-2. Tensorboard (Neural Net for XOR)
TensorBoard: TF logging/debugging tool
- 학습의 진행상황을 한 눈에 볼 수 있게 해주는 것
- visualize ur TF graph
- plot quantitative metrics
- show additional data
- 이전의 방법은 단순히 print로 결과를 확인하였음.
- 눈에 보이도록 tensorboard로 이용해보자!
5 steps of using TensorBoard
- 어떤 값을 로깅할 지 정하기
- 함수를 사용하면 됨
- 일일이 쓰지 않고 한번에 쓰기 위하여 merge
- session에 들어가서 summary를 어느 위치에 기록할 것인지 file 정하기
- summary 자체도 tense이기 때문에 실행시켜주어야 함
- 실행시킨 summary를 실제로 파일에 기록하는 부분: writer.add_summary
1) 어떤 값을 로깅할 것인가
- 데이터에 따라 다르다.
1. Scalar tensors
2. Histogram (multi-dimensional tensors)
: 값이 여러 개의 값을 가진 벡터 함수일 경우
- 세로: 여러 개의 값이기 때문에 step들이 있음.
- 가로: weight들의 분포
3. Add scope for better graph hierarchy
: 그래프를 보고 싶을 경우
- 그래프를 한꺼번에 펼쳐놓으면 보기 힘들기 때문에
- tf.name_scope() 라는 것을 이용하여 tense들을 계층별(layer별)로 정리할 수 있음.
2) 3) Merge summaries & create writer after creating session
4) Run merged summary and write (add summary)
5) Launch tensorboard (local)
- 브라우저로 열 경우: 디폴트 값 = http://127.0.0.1:6006
** tip) Launch tensorboard (remote server) **
- local 컴퓨터에서 돌리지 않고 remote에서 돌릴 경우
- ssh을 이용하여 port forwarding 기법을 이용하여 이렇게 사용
- remote_port는 6006으로 정해져 있는 것임.
- 우리가 local_port를 주고싶은 값을 주면 되는 것
Multiple runs
- 옵션을 다르게 해서 돌려서 비교해보고 싶을 때
- learning rate 다르게 해서 비교
- writer 부분에서 directory의 내용을 다르게 주어준다.
--> 같은 디렉토리 안에 한 디렉토리를 더 주는 것!
ex) logs/run1, run2, run3 ...
- 여러 디렉토리를 만든 후, 각각의 directory 하나하나를 실행시키지 않고 부모 디렉토리로 통으로 실행시킨다.
- 앞의 연습문제에 tensorboard 추가해보기
'인공지능' 카테고리의 다른 글
[모두의 딥러닝] lec 10-2. Initialize weights 잘 해보자 (0) | 2019.05.13 |
---|---|
[모두의 딥러닝] lec 10-1. Neural Network: XSigmoid보다 ReLU가 더 좋아 (0) | 2019.05.10 |
[모두의 딥러닝] lab 09-1. Neural Net for XOR (0) | 2019.05.07 |
[모두의 딥러닝] lec 09-2. Neural Network: 딥네트웍 학습시키기 (backpropagation) (0) | 2019.05.07 |
[모두의 딥러닝] lec 09-1. Neural Network: Neural Nets (NN) for XOR: XOR 문제 딥러닝으로 풀기 (0) | 2019.05.06 |
댓글