详解 TensorBoard-如何调参

什么是 TensorBoard

TensorBoard 是 TensorFlow 上一个非常酷的功能,我们都知道神经网络很多时候就像是个黑盒子,里面到底是什么样,是什么样的结构,是怎么训练的,可能很难搞清楚,而 TensorBoard 的作用就是可以把复杂的神经网络训练过程给可视化,可以更好地理解,调试并优化程序。

我们在建立神经网络模型解决问题时,例如想要用一个简单的 CNN 进行数字识别时,最想知道的就是什么样的模型,即 weights 和 bias 是多少的时候,可以使得 accuracy 达到较优,而这些变量都可以在 Tensorboard 中以一个可视化的方式看到,

  • 在 scalars 下可以看到 accuracy,cross entropy,dropout,layer1 和 layer2 的 bias 和 weights 等的趋势。
  • 在 images 和 audio 下可以看到输入的数据。
  • 在 graphs 中可以看到模型的结构。
  • 在 histogram 可以看到 activations,gradients 或者 weights 等变量的每一步的分布,越靠前面就是越新的步数的结果。
  • distribution 和 histogram 是两种不同的形式,可以看到整体的状况。
  • 在 embedding 中可以看到用 PCA 主成分分析方法将高维数据投影到 3D 空间后的数据的关系。


如何用 TensorBoard

在官网有两篇关于 TensorBoard 的教程,学习之后总感觉还是不太会用,只是讲了如何做出图来,可是到底该怎么发挥 TensorBoard 的功能呢,不能只是看看热闹,画出来图了,该怎么解读呢?

今天就来个更充实的,仍然以 MNIST 为例,来看如何一点点完善一个 model

下面是一个普通的 convolutional 网络结构,我们全文会在这个结构上进行调优:

这是初级的代码:

先来看一下它的训练结果:

接下来将分为以下几步:

  • step 1: 查看 graph 结构
  • step 2:查看 accuracy,weights,biases
  • step 3: 修改 code
  • step 4: 选择最优模型
  • step 5: 用 embedding 进一步查看 error 出处

那让我们来打开 board ,看发生了什么,为什么这么低

step 1: 查看 graph 结构

想要可视化 graph,就先只传一个 graph 进去

在左边我们看到了一个 convolution,
在右边还有一些东西不知道哪里来的:

<

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值