티스토리 뷰
Tensor Board로 딥네트웍 들여다보기¶
In [1]:
from PIL import Image
Image.open('board.png')
Out[1]:
- 그래프가 복잡하고 wide하고 deep할 때 모양을 확인할 수 있다.(Visualize you TF graph)
- 어떤 값들의 그림을 바로 그려줄 수 있다. (Plot quantitative metircs)
- show additional data
숫자로 출력되니 너무 복잡해서 확인하기가 너무 어려워!!!¶
In [2]:
Image.open('old.png')
Out[2]:
TensorBoard를 사용하기 위한 5가지 스텝¶
1. From TF graph, decide which tensors you want to log¶
w2_hist = tf.summary.histogram("weight2", W2)
cost_summ = tf.summary.scalar("cost", cost)
2. Merge all summaries¶
summary = tf.summary.merge_all()
3. Create write and add graph¶
# Create summary writer
writer = tf.summary.FileWriter('.logs')
writer.add_graph(sess.graph)
4. Run summary merge and add_summary¶
s, _ = sess.run([summary, optimizer], feed_dict=feed_dict)
writer.add_summary(s, global_step=global_step)
5. Launch TensorBoard¶
tensorboard --logdir=./logs
1. 무엇을 로그할지 정한다¶
In [4]:
Image.open('example1.png')
Out[4]:
In [5]:
Image.open('example2.png')
Out[5]:
In [6]:
Image.open('example3.png')
Out[6]:
2, 3. Merge summaries and create writer after creating session¶
# Summary (다 합쳐)
summary = tf.summary.merge_all()
# initialize (세션을 연다)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
# Create summary writer (어느곳에 쓸 것인지 정한다. 그 후 세션 그래프를 골라 넣어줘)
writer = tf.summary.FileWriter(TB_SUMMARY_DIR)
writer.add_graph(sess.graph) # Add graph in the tensorboard
4. Run merged summary and write (add summary)¶
s, _ = sess.run([summary, optimizer], feed_dict=feed_dict)
서머리를 실행시키고 실행시켜 얻은 값 s를 add_summary에 넣어준다.
writer.add_summary(s, global_step=global_step)
학습하면서 0부터 n까지 변하는 값이 global_step
global_step += 1
5. Launch tensorboard (local)¶
writer = tf.summary.FileWriter("./logs/xor_logs")
------------commend line-------------
$ tensorboard --logdir=./logs/xor_logs
Starting TensorBoard b'41' on port 6006
(You can navigate to http://127.0.0.1:6006)
local이 아니라 remote server에서 돌릴 경우¶
ssh -L local_port:127.0.0.1:remote_port username@server.com
--------------commend line-------------
local> $ ssh -L 7007:121.0.0.0:6006 hunkim@server.com
server> $ tensorboard -logdir=./logs/xor_logs
(You can navigate to http://127.0.0.1:7007)
In [7]:
Image.open('result1.png')
Out[7]:
가끔 같은 형태의 모델을 돌리지만 옵션을 다르게 해서 돌리고 싶다. 그리고 값을 2개 3개 비교해보고 싶을 때¶
In [8]:
Image.open('multiple.png')
Out[8]:
tensorboard -logdir=./logs/xor_logs
train = tf.train.GradientDescentOptimizer(learning_rate=0.1).minimize(cost)
...
writer = tf.summary.FileWriter("./logs/xor_logs")
tensorboard -logdir=./logs/xor_logs_r0_01
train = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(cost)
...
writer = tf.summary.FileWriter(""./logs/xor_logs_r0_01"")
tensorboard -logdir=./logs
MNIST가 학습되는 과정에 tensorboard를 이용해보자.
'beginner > 파이썬 딥러닝 기초' 카테고리의 다른 글
Weight 초기화 잘해보자 (0) | 2019.05.08 |
---|---|
XSigmoid 보다 ReLU가 더 좋아 (0) | 2019.05.08 |
XOR을 위한 텐서플로우 딥네트웍 (0) | 2019.05.07 |
딥 네트웍 학습 시키기 (0) | 2019.05.06 |
XOR 문제 딥러닝으로 풀기 (0) | 2019.05.06 |