인공지능

[모두의 딥러닝] lab 09-2. Tensorboard (Neural Net for XOR)

여니두 2019. 5. 7.

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 추가해보기

 

댓글