matlab朴素贝叶斯手写数字识别_MNIST 手写数字识别的可视化

本节将通过一个简单的 MNIST 手写数字识别的例子,讲解各种类型的数据汇总和展示的方法。这个例子中为了简单和凸显较偏重于 TensorBoard的使用,所以没有使用各种复杂的优化,比如滑动平均等。首先,还是和之前一样导入一些需要用到的库,并设置一些需要用到的量。存放日志文件的路径为 log dir。

8f0c7071d9a1ef52bb998b696f245656.png

为了在 TensorBoard 中可视化计算图时更好地组织图中的计算节点,也为了在 TensorBoard中可视化其他汇总为图表类型的数据(如 SCALARS、HISTORGRAMS 等)时将这些数据按照节点的方式展现,通常会在一个命名空间中执行数据汇总的操作。下面定义一个函数 variab le_summaries(),其参数只有一个——var。该函数的作用就是计算传递进来的 var 的平均值、方差值、最大值和最小值,并通过 summary.sealar()函数将计算得到的值汇总为标量数据,以及通过summary.histogram()函数将 var 的值汇总为直方图数据。进行这样的汇总很有必要,因为对于每一层的权重参数和偏置参数我们都希望能够得到可视化的形式。在创建层的 creat_layer()函数中,也确实调用了这个函数进行一些汇总操作。这个函数的定义如下:

af36ca749331c33dbf4a888f5c75dcff.png

之后,我们定义用于创建 MLP 神经网络层的函数 create_layer()。在该函数的参数中, input_tensor 是本层网络输入的数据;input_num是本层网络输入向量的元素数目:output_num 是本层网络输出向量的元素数目:act 是激活函数,默认值就是 ReLU 激活函数:layer_name 是本层的名称。在这个函数中,layer_name不再显得可有可无,因为它是 TensorBoard 可视化后的界面中的一个根节点。

3a62681ccbb1a5942d400eb851b9f0a3.png

接下来需要定义两个placeholder ,一个是输入数据的placeholder ,另一个是标签数据的 placeholder。

d13461751e1a3fc1eb00a89e59c76815.png

为了将图片数据汇总给 TensorBoard 进行展示,需要将输入的原始一维数据变形为28×28 的图片存储到另-个tensor 中,然后使用 summary.image()函数对图片数据进行汇总。这部分内容放到了命名空间input_reshape()中:

73db1a903f9cb81e1d1338a240084231.png

计算精度的部分也和之前相同,这部分内容放到了命名空间 accuracy中,并且通过 summary. scalar()函数将精度数据汇总为标量的形式。这部分的代码如下:

2b1329900feca93f0d35fdfb12667a89.png

在这个程序中,为了汇总相关的数据,我们使用了一些 summa可.py 中的函数,比如 scalar()、 image()和 histogram()。通过这些函数汇总的数据会在TensorBoard 可视化时划分到对应的选项卡。比如通过scalar()函数汇总的数据会展示在SCALARS 选项卡下,通过image()函数汇总的信息会展示在IMAGES 选项卡下,通过 histogram()函数汇总的信息会展示在HISTOGRAM选项卡下.

795e9464f781ca707d1d83ed9177f83a.png

程序执行的过程中会打印一些信息,由于我们主要的任务并不是训练神经网络,所以这些信息并不是十分重要。这些信息如下:

06176a2b32df9d41220a6b007ef8a3da.png

程序执行完毕后打开一个新的 Linux 终端,执行 tensorboard命令,并通过--logdir 参数指定 TensorFlow 日志文件的路径(训练过程的日志文件内容比较丰富,这里及以后的图片展示都是以训练过程的日志文件为主)

4aa77099d040f7bc158e54fe6e166872.png

关注小鲸融创,一起深度学习金融科技!

779655bf0f5a5e2deb63fcb4d9255878.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值