Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tensorboard Lecture 데이터 마이닝 최 현영 컴퓨터학부.

Similar presentations


Presentation on theme: "Tensorboard Lecture 데이터 마이닝 최 현영 컴퓨터학부."— Presentation transcript:

1 Tensorboard Lecture 데이터 마이닝 최 현영 컴퓨터학부

2 Tensorboard Tensorflow 에서 제공하는 시각화 도구.

3 사용법[1] 그래프에 표현하고 싶은 데이터를 결정하고 summary를 추가 위에서 추가한 summary를 합병
with tf.name_scope(‘train’) as scope: -> scope의 안의 노드들에 상위 노드를 만들어서 묶어줌 tf.histogram_summary(‘W’,w) -> 벡터 형태의 데이터를 표현할때 사용) tf.scalar_summary(‘cost’,cost) > 스칼라 형태의 데이터를 표현할때 사용) 위에서 추가한 summary를 합병 merged = tf.merge_all_summary() 그래프를 작성할 위치 지정 writer = tf.train.SummaryWriter(“tmp/log”,sess.graph_def) 작성한 그래프 저장 summary = sess.run(writer …); writer.add_summary(summary)

4 사용법[2] 텐서 보드 코드 작성 터미널에서 명령어 실행 웹브라우저에서 접속 tensorboard --logdir=저장위치
Ex) tensorboard --logdir= /Users/choihyun- young/jupyterWorkspace/tensorflow/tensorboard/lec_log/test1 결과 웹브라우저에서 접속

5 그래프 기호 기호 이름 의미 namespace_node 이름 범위를 나타내는 상위 레벨의 노드 horizontal_stack
각각 서로 연결되어 있지 않는 연속된 숫자 노드들 vertical_stack 서로 연결되어 있는 연속된 숫자 노드들 op_node 개별 운영 함수 노드 constant 정수 summary 요약된 정보를 가지는 노드 dataflow_edge 함수 사이의 데이터 흐름을 보여주는 선 control_edge 함수 사이의 제어의존성을 보여주는 선 reference_edge 발신 함수 노드는 수신 텐서를 변화시킴을 보여주는 참조 선

6 Constants example import tensorflow as tf
matrix1 = tf.constant([[3,3]],name="matrix1") matrix2 = tf.constant([[2],[2]],name="matrix2") product = tf.matmul(matrix1, matrix2, name="product") tf.histogram_summary("matrix1", matrix1) tf.histogram_summary("matrix2", matrix2) tf.histogram_summary("product", product) with tf.Session() as sess: #sess.run(t) = t.eval() writer = tf.train.SummaryWriter("/Users/choihyun-young/Desktop/tensorboard/lec/test", sess.graph) merged = tf.merge_all_summaries() summary, _ = sess.run([merged,product], feed_dict={}) writer.add_summary(summary)

7 place holder example - tensorboard
import tensorflow as tf x = tf.placeholder("float", (2, 3), name='x') y = tf.zeros([2, 3], "float", name = 'y') z = tf.add(x, y, name='z') tf.histogram_summary("x",x) tf.histogram_summary("y",y) tf.histogram_summary("z",z) with tf.Session() as sess: writer = tf.train.SummaryWriter("/Users/choihyun-young/Desktop/tensorboard/lec/test3", sess.graph) merged = tf.merge_all_summaries() summary,_= sess.run([merged, z], feed_dict={x: [[1,2,3], [4,5,6]]}) writer.add_summary(summary)

8 linear regression fname = 'ex1data1.txt’
xy = genfromtxt(fname, delimiter=',', dtype='float32') m = xy.shape[0] n = xy.shape[1] x_data = np.concatenate((np.ones((m,1)),xy[0:,:(n-1)]),axis=1) y_data = xy[0:,(n-1):] with tf.name_scope("data") as scope: x = tf.placeholder(tf.float32, name='X') tf.histogram_summary("X", x) y = tf.placeholder(tf.float32,name ='Y') tf.histogram_summary("y", y) W = tf.Variable(tf.random_uniform([n,1], -1.0 , 1.0), dtype=tf.float32, name ='W') tf.histogram_summary("weight",W)

9 linear regression 1 2𝑚 𝑖=1 𝑚 ( ℎ 𝜃 𝑥 𝑖 − 𝑦 𝑖 ) 2 X W Y h= 𝑊 ∗ 𝑋 ℎ−𝑌
1 2𝑚 𝑖=1 𝑚 ( ℎ 𝜃 𝑥 𝑖 − 𝑦 𝑖 ) 2 ℎ−𝑌 ( ℎ−𝑌) 2 1 2𝑚 (ℎ−𝑌) 2

10 linear regression with tf.name_scope("train") as scope:
hypothesis = tf.matmul(x, W, name='hypothesis') cost = tf.div(tf.reduce_mean(tf.square(tf.sub(hypothesis,y))),2) tf.scalar_summary("cost", cost) a = tf.Variable(0.01) Y X, W

11 linear regression optimizer = tf.train.GradientDescentOptimizer(a).minimize(cost) with tf.Session() as sess: writer = tf.train.SummaryWriter("/Users/…/linearRG", sess.graph) merged = tf.merge_all_summaries() tf.initialize_all_variables().run() for step in xrange(401): summary, _ = sess.run([merged,optimizer] , feed_dict={x : x_data, y : y_data}) writer.add_summary(summary, step) ( merged data, global step(x축))

12 linear regression – full graph
Main Graph 에서 flow확인 Auxiliary nodes에서 W를 update Gradient 안에 train이 존재 반복적으로 broadcasting


Download ppt "Tensorboard Lecture 데이터 마이닝 최 현영 컴퓨터학부."

Similar presentations


Ads by Google