tensorboard学习记录


——————————————————一、如何存储summary和打开tensorboard————————————————————————————

创建一个常量,注意summary的value需要是float32或64类型

aaa=tf.constant(11.0)


然后用aaa的值传给一个summary

aaa1=tf.scalar_summary('fdfdfaaa1',aaa)


创建一个可以将summary写到硬盘的operation,其中括号内是路径。我的路径直接就是/home/tensorboard_1

aaa2=tf.train.SummaryWriter('/home/tensorboard_1')


调用实例aaa2的实例函数add_summary,将aaa1存到硬盘里

aaa2.add_summary(sess.run(aaa1))

这里括号里为什么要执行呢?因为aaa1是一个tensor,他存的内容才是summary,所以要fetch出来,fetch就用sess.run()


到这一步以后就相当于在对应路径存放了一个tensorboard可以读取的记录文件,然后退出spyder,打开终端alt+ctrl+T,

我安装了tensorboard,我直接用命令tensorboard --logdir /home/tensorboard_1就打开了tensorboard,然后打开浏览器输出完整的网址

就OK了。以上完成了初步的应用。


————————————————————二、——————————————————


上面的完成度基本上只是打开了tensorboard,graph和image等都没有涉及到。接下来利用tensorboard做一些更复杂的工作。


首先要有一个程序,我自己写了一个简单的graph,功能是打开cifar10的图片,并进行一个最简单的卷积最后连接nn,目前还没有迭代操作。接下来学习的目的是用tensorboard显示graph和image。


要把graph转换成proto buffer需要下面函数,

ggg=tf.get_default_graph()

ggg1=ggg.as_graph_def()

再用add.graph(ggg1)添加到目录读取就可以了,反正按照以上步骤我的graph显示了!另外之前用火狐浏览器显示不出graph。

-----------------------------------------另外我实验出当你新加入summary以后必须重新启动才行。并且tensorboard打开一个文件时你不能修改此文件,修改无效

所以最好每次都用不同的文件来存储summary-------------------------------------------------------


接下来读取图片,和上面步骤一样,先将图片转换成proto buffer形式,再添加到目录,再用tensorboard读取。

这里图片也是直接用aaa2.add_summary(图片)来添加。


下一步要把上面的tensor转换成summary,然后合并成一个summary,添加到文件夹中,再读取:

t_i=tf.image_summary('fsdfsdf',图片)

ccc=tf.constant(10.0)

t_i1=tf.scalar_summary('fsdfgfgf',ccc)

ccc=tf.merge_summary(t_i1,t_i)

到这里就是融合成功了,这里要注意,summary tensor你一用sess执行会得到一堆2进制序列,只有这样的tensor才是对的,

而graph.as_graph_def()会直接返回2进制序列,所以merge不了。


这里add_summary接受的参数是二进制序列,所以你要用sess执行summary tensor。

为什么我没有用merge_all_summarys?因为我的会报错,我觉得原因是它会把图里所有的点都变成summary然后merge到一起。

而我的里面有对queue的操作,所以一merge全部就会卡住。


























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值