使用tensorboard會從用戶本地文件夾下面尋找文件,然後在瀏覽器顯示,刷新週期可自己設置,首先要把生成數據和保存數據,保存的數據是二進制形式。
代碼如下:
import tensorflow as tf
import numpy as np
a = tf.Variable(0,dtype=tf.float32)
c = tf.assign_add(a,1)
#收集標量
#d是一次操作<class ‘tensorflow.python.framework.ops.Tensor’>
d = tf.summary.scalar(“loss”,a)
print(d)
#自動管理鎖收集的標量,是一次操作
merged = tf.summary.merge_all()
print(type(merged))
print(merged)
init = tf.global_variables_initializer()
with tf.Session() as sess:
writer = tf.summary.FileWriter(“logs”,sess.graph)#將圖存入到logs文件中
sess.run(init)
for i in range(100):
y=i*2
sess.run(tf.assign(a,y))#執行自加操作
print(sess.run(a))
#sess.run(d)#返回二進制對象,和summary是一樣的
summary = sess.run(merged) #返回二進制對象
writer.add_summary(summary,i)#把二進制對象寫入文件
生成的文件如下:
然後控制輸入命令如下:
路徑根據自己文件的路勁寫,命令運行後會生成一個網址,複製網址到瀏覽器輸入,界面如下:
注意:這裏的x軸在這裏表示的是變量保存的次數,程序中我用的for循環,沒循環一次就保存一次數據,舉個例子:在for循環第100次運行的時候,loss的值變成了200,在第50次循環的時候,loss的值變成了100,這裏直線的斜率爲2,只不過看着是1,我也不明白爲什麼要這樣顯示。
x軸的數據是自己任意設置的,writer.add_summary(summary,i)裏面的第二個參數表示的就是x軸的數據,第一個參數就是y軸的數據,深圳可以寫成這樣writer.add_summary(summary,np.sin(i)),隨便自己給函數映射