tensorflowtensorboard使用方法、应用场景和常见问题使用方法、应用场景和常见问题
详细介绍:
基础操作两方面:
第一方面:“制作”各种标量、记录节点,图标、图片等的记录汇集,sess.run从计算图得到一次汇集的记录。
关于sess.run(merged),可以把这个也当做计算图中得到了一个结果,只是不同用途。既然是计算图,就少不了要feed数
据,feed的数据不同,得到的结果也就不同,如果使用了错误的feed数据,很可能得到的绘制结果也不符合预期,下边会有例
子介绍!
剩下的也就是scalar和histgram对tensor形状的要求不同,输入错了自然报错(手动滑稽),image的话,也要先reshape到合
适的形状。
第二方面:利用本graph初始化writer,把sess.run得到的记录通过writer写入文件,关闭writer。
唯一注意的就是那个global_step的意义,这个step也就是绘制图标的横轴坐标了,如果用普通的i,如果断点续训从头开始计
算,那么图标也就绘制烂了,所以最好是用有记录的global_step,能够保证断点续训的图片绘制完整。
两种合并方法,第一种全合并,比较简单;第二种指定,精简,比如同时观察训练集和测试集的准确率,参数之类的不需要也
显示两份。
特殊用法:
同时显示训练集和测试集曲线
用两个writer,指定两个路径,分别记录训练集和测试集的准确率,运行tensorboard同时读取两个event文件。
应用场景
应用:对比测试集与训练集的准确率
如果是带dropout的训练,不要在train同时得到accuracy,会出现准确率倒挂,训练准确率低于测试准确率(蓝线).
改完了也不能明显看到“训练准确率高于测试准确率”的情况
也有一方面原因是conv解MNIST太简单了,拉不开差距,test用的batch太小了,不容易反应整体,拉不开差距,因为机器性
能的限制,一次不能运行整个测试集,summary是拿tensor,是tensor就得feed数据,feed数据就有size限制,又不可以在
python里自己做循环和平均,这是个问题。
问题:两个event的显示颜色不如人意