1、首先,通过下图理解Convlstm识别手写数字的流程:

输入层:28*28大小的图片
将其每一行展开,形成一个1行784列的序列,符合RNN的输入模式。每一行作为一个RNN单元的输入,形成了图中28个RNN单元的计算模型。
2、最重要的是理解代码

_X: 表示的是一个batch(例如batch=5)的输入数据,此时_X是5*28*28,五张手写数字图片
对_X进行transpose操作,维度顺序更改的操作,由5*28*28变为28*5*28
对_X进行reshape操作,变为[5*28,28]
对28个隐层的数据进行计算并输出为_H(28个单元的隐藏层全部计算完成)


计算完成后,需要对_X进行切片,分别输入RNN网络当中,_Hsplit是切片后的结果28份5*28的切片
切片

本文通过分析流程和代码详细解释了如何在TensorFlow中应用ConvLSTM识别手写数字。首先,将28*28的图片展开成序列以适配RNN输入,然后对数据进行transpose和reshape操作。接着,对28个隐层数据进行计算,并通过切片输入到RNN网络。使用BasicLSTMCell定义RNN单元,并计算每个单元及整个网络的输出。
最低0.47元/天 解锁文章
9910

被折叠的 条评论
为什么被折叠?



