有关TensorBoard一些小Tip和实例

摘要:
怎么办,其实TensorBoard我用的也不是很多,但是有些实例操作可能记录一下比到处查和摸索还是要好很多吧。当你在代码里面声明了日志记录,并按照TensorBoard规范声明了一些变量名时,TensorBoard读到日志就会实时用可视化的方式展现网络结构、训练进程等等,以展现Tensorflow程序的最新运行状态。首先是TensorBoard在代码中的一些体现。等返回链接时直接打开连接就到了TensorBoard的界面了。

0. 只愿君心

服气,两个多月前调的代码莫名其妙崩,各种莫名其妙的错误改了一上午都没改好,可能这就是Doc2Vec的劝退吧。本喵真的想手动问号三连。算了,反正这个东西用得很少很少,就像为了发论文强行扯出来的玩意。

然后今天还是要更点东西,因为那谁不按套路出牌竟然来实验室了....我其他事情也做不了啊啊。看书和更新博客是最舒适的事情了,相比于听他跟我讨论“前沿NLP”——CPU+Spark下的NLP???

我想起以前吧,在三月份真正开始学DeepNLP的时候,改了一个TextCNN的二分类代码,当时也是花了一两周啊。之后我会更新下github把代码都按文件上传一下。怎么办,其实TensorBoard我用的也不是很多,但是有些实例操作可能记录一下比到处查和摸索还是要好很多吧。我当时用的时候参考的CSDN这篇博客:https://blog.csdn.net/gsww404/article/details/78605784。但本猫也不是很爱copy,这篇博文注定内容很短吗哈哈,怎么够我在某人的眼神下熬到下班去运动。

1. 似我心

虽然贴了参考了,不过还是简单介绍下今天的主角——TensorBoard。这个东西呢,简单来说就是TFboys自带的一个插件(可以这么说吧,确实没有额外去安装什么东西)。当你在代码里面声明了日志记录,并按照TensorBoard规范声明了一些变量名时,TensorBoard读到日志就会实时用可视化的方式展现网络结构训练进程等等,以展现Tensorflow程序的最新运行状态。

TensorBoard的可视化具体一点来说分为:计算图可视化(网络结构等)监控指标可视化(loss和accuracy及各层权值参数等)。我感觉这两个比较主要,其他的就是功能混合吧。下面就分小节举一些实例好吧。


首先是TensorBoard在代码中的一些体现。其实主要是添加记录节点、汇总节点、得到节点汇总结果等等等等等。大家在使用的时候参考下上面那篇博客,或者参考别人能实例化TensorBoard的代码吧。作为一个优秀的“程序员”对吧,抄抄更健康。简单举个栗子,在声明网络结构时,对每层的命名用下图方式。比如TextCNN里面的Embedding层和几个卷积-池化层:

有关TensorBoard一些小Tip和实例第1张

这样的好处就是,当你实例化TensorBoard的时候,查看GRAPHS会发现。哇,网络是这个样子吗,一目了然。(特别是读别人的网络时,如果作者的Tensorflow代码非常非常规范的话)还是举个例子展示一下吧,比如TextCNN的网络结构。如果你是第一次接触这个网络,这个计算图就能帮助你更快的入手网络,每一层输入输出参数大小也都可以在图上点击查到:


有关TensorBoard一些小Tip和实例第2张有关TensorBoard一些小Tip和实例第3张


等会,我好像忘记写怎么打开TensorBoard了吧。是这样的,如果代码中写了存储日志和相关参数的话,都会在代码目录下生成一个如下的文件:

有关TensorBoard一些小Tip和实例第4张

然后返回到train目录上一层,打开命令行输入如下。等返回链接时直接打开连接就到了TensorBoard的界面了。如果崩了就再试一下就好:

有关TensorBoard一些小Tip和实例第5张


还有什么说的呢,其实打开TensorBoard很多东西都可以试一下,只要代码质量够高,记录是非常详细的。比如loss和acc。图形和数据都是可以直接导出下载的(CSV和JSON格式),不管你用不用TensorBoard自带的图,拿到导出数据用Matlab或者Python二次创作(改数据造假)也很方便啊。为什么是0.618,只是本猫喜欢这个数字吧哈哈哈哈。

有关TensorBoard一些小Tip和实例第6张

2. 定不负相思意

没什么好写的了吧,具体操作参考博客吧。我比较喜欢下那些代码风格很严谨的,所以自己可以少操点心。不过,今天这个阳光总是给我一种周五的感觉啊。写博客挺累的,不管简单的东西还是难的东西。这个月最后一天更新一篇,之后再说吧。五月再见,夏天的话本猫最喜欢应该就是六月了吧。

免责声明:文章转载自《有关TensorBoard一些小Tip和实例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇springboot整合filterlinux 邮件服务器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Pycharm Debug功能详解

左键单击代码编辑区域中的行号以在调试模式下运行代码:单击左上角工具栏上的调试图标(bug图)。方法2:在调试模式下运行后,1。代码编辑区域中的蓝色条是当前程序运行的位置,即c=add(a)应该运行,但尚未运行。2.代码编辑区域中的深红色条是当前程序设置的所有断点行。3.左下方是程序堆栈,进入fun()函数。4.右下方是可变显示区域1。跳转到当前断点(在断点之...

解决Maven无法下载fastdfs-client-java依赖,Dependency 'org.csource:fastdfs-client-java:1.27-SNAPSHOT' not found.

然后,您成功地将fastdfs客户端java打包到本地Maven仓库,更新项目Maven,pom.xml文件将不会找不到fastdfs客户机java依赖项。...

HTTP请求报文

不仅报表样式可以传递请求参数,请求url也可以以类似于键值对的方式传递数据...

PCL点云分割(2)

点云的分割是我想做的机器人手臂捕捉的一个非常重要的部分,因此首先要了解,如果我使用点云库来处理我用kinect获得的点云数据,这个例程也是由我自己慢慢修改程序并结合官方API的解释来实现的。如果我直接更改源程序,由于数据类型、头文件和其他原因,其中的许多细节可能无法编译,我们将很难找出错误。首先,让我们看看我自己设定的场景。然后我使用Kinect获取数据并观...

DB2锁表或超时解决方案

命令如下:db2"forceapplication"4、使用命令listapplication查看是否已经断开了哪些进行了死锁的进程。...

Nginx 对客户端请求的限制

本文记录了Nginx静态web服务器对客户端请求的限制的配置项。附加了禁止GET方法和HEAD方法的配置。limit_ exceptGET{allow192.168.1.0/32;denyall;}2) 最大HTTP请求包语法:client_max_body_sizesize;默认值:client_max_body_size1m;配置块:当http、服务器和...