http://www.cnblogs.com/cvtoEyes/p/9022878.html
- 函数_activation_summary可以为每一层激活值创建summary,而无任何返回值,既然没有返回值,也就说明没有数据的流动,也就是并非有意义的节点;
- summary类包含histogram和scalar两种类型,而且似乎这两种类型是有严格划分的:为什么这么说呢?代码中可以看到,学习率就是scalar类型,梯度值就是histogram类型;
- summary类在cifar10项目中普遍存在,包含学习率、梯度值、激活值、变量、loss等,而这些似乎都是在深度学习过程中,我们比较关心的量,这似乎让人无限遐想。
带着这些发现,我们又不禁产生下列疑问:
- summary如果都不是节点,那它在会话中起到什么作用,又执行了什么操作?
- summary类包含的数据类型有哪些,它们之间是如何划分的?
- 我们可以为哪些量创建summary,除了上述函数,summary类中还包含哪些常见的函数?
带着这些问题,打开官方的tutorial、API教程,这里是中文版。纯粹点说,summary和TensorBoard有关,也就是和tf的可视化有关。
上面列出的代码实际上给我们列出了一个过程,就是使用summary或者可视化tensorboard的过程,具体来说:
- 为你需要可视化记录的量创建summary,summary其实就相当于一个监测器,你让它监测谁就监测谁,附加在你想监测的量上,如果没有它,也就无从谈起tensorboard可视化,根本不知道可视化什么量;
- 收集汇总图中所有创建的summary,如果不汇总,相互之间就没有关联,需要一个一个在会话中运行,麻烦费事;
- 把收集的数据写入指定的文件,summary本身并不能可视化,保存数据则是为了tensorboard的可视化;