tensorboard是tensorflow自带的很好看的一个可视化工具,未来应该会非常有用,但是用起来稍微有些麻烦,也有一些坑。
首先是运行的问题,我是在win10上使用anaconda安装的tensorflow,所以要先到ananconda的目录下找到tensorboard.exe这种东西,把anaconda里Scripts这个目录加到环境变量中tensorboard才能正常使用。
下面是一些从莫凡Python中学到的初步使用方法:
def add_layer(inputs,in_size,out_size,n_layer,activation_function=None):
layer_name='layer%s' % n_layer
with tf.name_scope("layer"):
with tf.name_scope("weight"):
Weights = tf.Variable(tf.random_normal([in_size,out_size]),name="W")#row * col
tf.summary.histogram(layer_name+"/weights",Weights)
with tf.name_scope("biases"):
biases=tf.Variable(tf.zeros([1,out_size])+0.1)
tf.summary.histogram(layer_name + "/biases", biases)
with tf.name_scope("Wx_plus_bias"):
Wx_plus_b=tf.matmul(inputs,Weights)+biases
if activation_function is None:
outputs=Wx_plus_b
else :
outputs=activation_function(Wx_plus_b)
tf.summary.histogram(layer_name + "/outputs", outputs)
return outputs
其中with tf.name_scope("名字")
这种就是写出各种节点的名字在图里面
总之图很大
想要看这种图则需要添加
tf.summary.histogram(layer_name + "/outputs", outputs)
这种代码想查看损失函数的值有没有随着训练下降就在下面加上这个
tf.summary.scalar('loss',loss)
然后,开始训练的准备工作则需要变成这样
sess=tf.Session()
merged=tf.summary.merge_all()
writer=tf.summary.FileWriter("D:\\logs",sess.graph)
init=tf.global_variables_initializer()
sess.run(init)#important
其中D:\logs是存放tensorboard生成的文件的地方
在terminal中输入tensorboard --logdir=D:\logs
之后就可以复制下面的网址到浏览器中查看生成的各种图表了。
如果不行的话可能是因为没有激活anaconda的环境,也可能是因为环境变量没有设置,也可能是logdir后面写的东西有问题,win10和mac也不太一样。